这些是我的路线:
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?
感谢
答案 0 :(得分:1)
topic_id不在PostsController的create action中的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
...