2

如果我有如下嵌套资源:

resources :posts do
    resources :comments
end

我访问 /posts/1/comments/new,在 Comment 模型上设置 post_id 的最佳方法是什么?

4

1 回答 1

2

使用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
于 2013-06-26T21:56:36.640 回答