Progate_Ruby on Rails5道場コース1
1・目標物確認
3・homeページを作る
・ターミナルで「rails g controller コントローラ名 アクション名」
・「app/home」のにできた「top.html.erb」に指定のコードを貼り付け
・「app/assets/stylesheets」の「home.scss」に指定のコードを貼り付け
4・URLを変更
・ルーティングを変更することでURLを変更( / に変更)
5・サービス紹介ページ(aboutページの作成)
・「about」ページのルーティング追加
・「views」フォルダに「about.html.erb」を作成
・作成した「about.html.erb」に指定のコードを貼り付け
6・ヘッダーを作る
・ヘッダーは共通なので「application.html.erb」に指定のコードを貼り付け
・リンク:link_toメソッドで指定。<%= link_to("表示名","URL") %>
※link_toのリンク「/」忘れやすいので注意。
7・モデルとテーブルを作る
・ターミナルで「rails g model テーブル名 カラム名:データ型」
内容があっているか確認して
ターミナルに「rails db:migrate」データベースに反映
・実際にターミナルを使って投稿
+「rails console」を起動
+モデルのインスタンス(Post.new(引数)、引数に「content:”内容”」)を生成。
+saveメソッドでデータベースに保存
8・投稿一覧ページの作成
・ターミナルで「Rails g controller posts index」
ルーティングに「posts/index〜」、postsコントローラにindexアクション
・indexアクション
+投稿すべてを取得するには「モデル名.all」、「@posts」に代入。
+orderメソッド(order(カラム名: :順番)、昇順asc/降順desc)で
投稿日時(created_at)順にする
・viewsフォルダに作成された「index.html.erb」ファイル
+指定コードを貼り付け
+「@posts」をeach文を使って1件ずつ投稿内容(post.content)を表示
・「application.html.erb」に「投稿一覧」へのリンク<%= link_to("表示名","URL") %>
9・投稿詳細ページ
・ルーティング:「"posts/:id"=>"posts#アクション名"」
※ posts/indexのルーティングより下に追加
・投稿表示用のアクションをpostsコントローラに追加
+投稿表示用のアクションの名前でviewsフォルダにビューファイルを手作成
+find_byメソッド、paramsを使って投稿内容の情報を「@post」に代入
(@post=find_by(id: params[:id]))
・手作成したビューファイルに指定のコードを貼り付け
+投稿の内容:@post.content、投稿日時:@post.created_at
・8で作った「index.html.erb」に投稿詳細ページへのリンクを作成
<%= link_to("表示名","URL") %>、
表示名:post.content、URL:投稿詳細ページのURL(文字列なので#{@post.id})
総評
基本ヒントなくできた。1回目に比べてかなり理解度は高まっている。