目前,我正在Rails中建立一个博客,我很好奇是否有正确的方式以下列方式显示资源?
在这种情况下,您可以列出所有帖子,如果需要,还可以列出单独的类别帖子。
您通常会说 - 使用范围,但我不确定范围会产生以下影响: / blog / features , / blog / releases 。
那么,我该怎么做呢?
答案 0 :(得分:2)
#config/routes.rb
resources :blogs, path: "blog" do
get ":category", to: :index, on: :collection #-> url.com/blog/:category
end
#app/controllers/blogs_controller.rb
class BlogsController < ApplicationController
def index
@posts = params[:category] ? Post.joins(:category).where(category: {name: params[:category]}) : Post.all
end
end
#app/views/posts/index.html.erb
<% @posts.each do |post| %>
...
<% end %>