如果我有如下嵌套资源:
resources :posts do
resources :comments
end
我访问 /posts/1/comments/new,在 Comment 模型上设置 post_id 的最佳方法是什么?
如果我有如下嵌套资源:
resources :posts do
resources :comments
end
我访问 /posts/1/comments/new,在 Comment 模型上设置 post_id 的最佳方法是什么?
使用form_for
:
<%= form_for [@post, @comment] do |f| %>
或者,您可以使用长格式:
<%= form_for @comment, url: post_comments_path(@post) do |f| %>
它将为您正确设置网址。
您的控制器操作应如下所示:
def new
@post = Post.find(params[:post_id])
@comment = @post.comments.build
end
def create
@post = Post.find(params[:post_id])
@comment = @post.comments.build(params[:comment])
if @comment.save
...
end