0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[自分用備忘録]Rails開発で忘れちゃいけない初歩の初歩

Last updated at Posted at 2020-07-23

自分は初学者なので、新しいものを勉強しては基礎を忘れる段階にいます。
なので自分用に備忘録として忘れちゃいけないRails開発の基礎の基礎を記録しておきます。

#MVCアーキテクチャ

http://〜

Routes.rbファイルでルーティングを確認

(C)コントローラでアクションの確認→(V) 対応するアクションのビューファイルをとってくる

(M)モデルとやりとりする(モデルはアプリケーションの根幹となる部分)

だから開発の流れは基本的に
ルーティング設定する→コントローラでアクション設定する→そのアクションに対応するビュー作る。

#$rails routesで今設定されてるルーティングが確認できる

routes.rbにrootとか設定したら、$rails routesでルーティングの確認してみて。

Rails6以降なら--expandedオプションつけてもっと詳細も確認できる。

####主な使い所 redirect_toのpath指定先チェック

createアクションでフォームに入力された値を取ってきてDBに保存&そのデータを表示するshowアクションにredirectしたい

rails routesで確認。

Prefix Verb URI Pattern Controller#Action
article GET /articles/:id(.:format) articles#show


article_pathで飛ばせる。
でもURIパターンが/articles/:id(.:format) になってるから、
この場合はarticle_path(@article)になる。
そしてこれショートカットで@articleだけでも同じ結果になるらしい。

#railsコンソールでコントローラに書いてること確認できるよ

コマンドで$rails cすると、irb> が起動される。

articleモデルがあるならarticle.allとかarticle.findとかできるので、そこでとってきたいデータがとれるか確認したらコントローラに書けばおk。

当たり前だしほんとはコンソールで動き確認しつつ開発するのが普通だと思うんだけど、やり方覚えちゃうとついつい忘れがち。気をつけるっ

#コントローラ名は_で繋げる&複数形だよ。

(例)
articles_controller.rb
pages_controller.rb

一回_じゃなく.でつなげちゃって、永遠エラーに悩まされるという初歩的なミスをやらかしたので注意!

#deleteとdestroyの違い

deleteはActiveRecord(RubyとSQLの翻訳機)を介さずに削除する。
destroyはActiveRecordを介して削除する。

#viewで使いまくりなテーブルの作り方

tableの中にthead, tbodyからの中にtr、thの流れ。

<table>
    <thead>
        <tr>
            <th>Title</th>
            <th>Description</th>
            <th>Actions</th>
        </tr>
    </thead>

    <tbody>
        <% @articles.each do |article| %>
            <tr>
                <td><%= article.title %></td>
                <td><%= article.description %></td>
                <td>placeholder</td>
            </tr>
        <% end %>
    </tbody>
</table>

ちなみにslim導入時での書き方は以下。

table
  thead
    tr
      th
        | Title
      th
        | Description
      th
        | Actions
  tbody
    - @articles.each do |article|
      tr
        td
          = article.title
        td
          = article.description
        td
          | placeholder
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?