我在实现一种评论表单时遇到问题,其中评论(称为“微博”)属于用户和帖子,用户有_许多评论,帖子(称为“提议”)有_许多评论。
我的评论表单代码是:
<%= form_for @micropost do |f| %>
<div class="field">
<%= f.text_area :content %>
</div>
<div class="actions">
<%= f.submit "Submit" %>
</div>
<% end %>
Run Code Online (Sandbox Code Playgroud)
MicropostsController 在创建操作中有这个:
def create
@proposition = Proposition.find(params[:proposition_id])
@micropost = current_user.microposts.build(params[:micropost])
@micropost.proposition = @proposition
if @micropost.save
flash[:success] = "Contribution submitted"
redirect_to root_path
else
@feed_items = []
render 'pages/home'
end
end
Run Code Online (Sandbox Code Playgroud)
创建新微博的表单与提议在同一页面上,但提议 id 似乎在任何时候都没有通过。
这是我在提交微博表单时遇到的错误:
ActiveRecord::RecordNotFound in MicropostsController#create
找不到没有 ID 的提案
参数是:
{"commit"=>"Submit", "micropost"=>{"proposition_id"=>"", "content"=>"第一条评论"}, "authenticity_token"=>"TD6kZaHv3CPWM7xLzibEbaLJHI0Uw43H+pq88HLZFjc=", "utf8" =>"âœ""}
我对 Rails 完全陌生,对编码任何东西都非常陌生,所以如果你能给我任何帮助,我将不胜感激!
提前致谢。