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 %>
これで問題は解決するはずです。