如果我有一个嵌套资源,如下所示:
resources :posts do
resources :comments
end
我访问/ posts / 1 / comments / new,在评论模型上设置post_id的最佳方法是什么?
答案 0 :(得分:2)
使用form_for
:
<%= form_for [@post, @comment] do |f| %>
或者,您可以使用longform:
<%= 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