在 Rails 中,当我需要时:
/comments
Run Code Online (Sandbox Code Playgroud)
和
/posts/1/comments
Run Code Online (Sandbox Code Playgroud)
我如何最好地组织 CommentsController?例如让路由共享索引操作,还是使用 2 个控制器?
您只能使用一个控制器。
我会去before_filter检查post_id参数是否存在:
class CommentsController < ApplicationController
before_filter :find_post, only: [:index]
def index
if @post.present?
## Some stuff
else
## Other stuff
end
end
private
def find_post
@post = Post.find(params[:post_id]) unless params[:post_id].nil?
end
end
Run Code Online (Sandbox Code Playgroud)
并在您的路线中(根据您选择的限制):
resources :posts do
resources :comments
end
resources :comments
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1216 次 |
| 最近记录: |