Rails 3 - 在另一个帖子的SHOW视图中无法创建新帖子
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rails 3 - 在另一个帖子的SHOW视图中无法创建新帖子相关的知识,希望对你有一定的参考价值。
我有一个名为“Post”的模型。我想在另一篇文章的SHOW视图中使用模态表单来创建新帖子。这意味着当我在其视图中查看名为“John”的帖子时,我希望能够从那里创建一个新帖子。
我遇到的问题是新帖子的ID与我正在查看的帖子保持一致,并导致更新操作被触发而不是创建操作。有关如何处理这个的任何建议?
答案
使用Post.new
建立一个新帖子并在form_for
中使用它:
<%= form_for Post.new %>
<%= render "form" %>
<% end %>
当然这意味着你需要从你的形式部分删除form_for
,如果你有它,但这是一个小小的牺牲。
但是,如果您确实不想这样做,则必须将局部变量传递给表单partial以指示要显示的帖子。在show
页面上你有这个:
<%= render :partial => "form", :locals => { :post => Post.new } %>
在new
和edit
观点你会这样做:
<%= render :partial => "form", :locals => { :post => @post } %>
该行稍微长一点,但这样可以让你将form_for
标签保持在部分内部而不会阻塞其他三个视图。
以上是关于Rails 3 - 在另一个帖子的SHOW视图中无法创建新帖子的主要内容,如果未能解决你的问题,请参考以下文章