Techioz Blog

Rails - ブログ投稿を表示する動的なホームページを作成するには?

概要

ブログセクションを含むウェブサイトのトップページを設定するのに苦労しています。

ブログセクションには独自のモデル + コントローラーがありますが、私の質問は次のとおりです。

これらは次のルートになります。

root "pages#home"
get "pages" => "pages#home", as: :pages

get "blog" => "blogs#index", as: :blogs
get "blog/new" => "blogs#new", as: :new_blog
get "blog/:id" => "blogs#show", as: :blog
post "blog" => "blogs#create"
get "blog/:id/edit" => "blogs#edit", as: :edit_blog
patch "blog/:id" => "blogs#update"
delete "blog/:id" => "blogs#destroy"

解決策

ブログを表示するコントローラー アクションで変数を作成する必要があります。これを行うと、ビューがその変数にアクセスできるようになります。

Pages_controller.rb (またはページ コントローラーの正確な名前)

def home
  @blogs = Blog.all
end

次に、ビューでこれを行うことができます

<% @blogs.each do |blog| %>
  <%= blog.title %> <!-- Or whatever you want to show, the html here depends on your needs
<% end %>

これで問題は解決するはずです。