0
0

More than 3 years have passed since last update.

Rails ホームページと記事一覧ページ

Posted at

開発環境

Rubyバージョン: 2.6.5
Railsバージョン: 6.1.3
deviseは導入してません。

ホームページとhomeコントローラー

confing/routes.rb
get "home/top"=>"home#top" 
controllers/home_controller.rb
def top
end

解説

get "URL"=>"コントローラー名#アクション名" で”localhost:3000/home/top”
というURLが送信された時にhomeコントローラーのtopアクションで記述されたコードが実行されます。

記事一覧ページ

controllers/posts_controller.rb
def index
    @posts = Post.all.order(created_at: :desc)・・・1
  end
posts/index.html.erb
<% @posts.each do |post| %>  ・・・2
    <div class="posts-index-item">
      <%=post.content %>・・・2
      </div>
    </div>
    <% end %>・・・3

解説

・・・1:postsコントローラーのindexアクションにおいて、postsテーブルに保存されている全てのデータを
変数@postsに代入しています。また、Post.all.order(created_at: :desc)と書くことで、投稿順が新しいものが上になるようになります。
・・・2:@postsに代入されている配列データをeach文で1つずつ変数postに代入して、投稿内容を繰り返し表示させています。
・・・3<%=post.content %>のように<% %>で囲むことによって、HTMLファイルの中にRubyコードを記述できます。これをerb(=Embedded Ruby(埋め込みRuby))といい、埋め込んでいるRubyコードをブラウザに表示させることができます。また、<%= %>と表記すると中に埋め込まれている変数の値が読み込まれるため3の場合だと、<%=end%>と表記する必要はありません。

参考になった記事

postの表示の順番

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