0

这些是我的路线:

  resources :forums, :shallow=>true do
    resources :topics, :shallow=>true do
      resources :posts
    end
  end

topics/show.html.erb我添加了一个表格来发表帖子(Post就像一个评论Topic

<%= form_for [@topic, @post] do |f| %>
    <div class="field">
    <%= f.label "content" %><br />
    <%= f.text_area :content %>
  </div>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>

问题是:topic_id模型中的字段Post保持为空。它不应该自动获取主题的ID吗?

谢谢

4

1 回答 1

1

topic_id 不在您的 PostsController 的创建操作中的 params[:post] 内。因此,您需要手动分配 topic_id 以在操作中发布,如下所示:

...
@post = Post.new(params[:post])
@post.topic_id = params[:topic_id]
if @post.save
  flash.notice "Post created successfully"
else
  flash.error "Error saving post"
end
...
于 2012-12-10T14:01:54.060 回答