我正在尝试保存评论的评论文字部分,但由于某种原因它不会保存。 我正在检查我的服务器输出,并设置了comment属性,但实际保存后,结果为NIL。
最初它有“comment”=> {“comment”=>“hello dude”},“commit”=>“Sbmit Comment”
但在保存中它可以节省NIL。
这是我的评论表格
<div class="container">
<% if user_signed_in? %>
<%= form_for([@answer, @comment]) do |f| %>
<p>
<%= f.label :comment %>
<%= f.text_area :comment, :cols => "50", :rows => "30"%>
</p>
<p>
<%= f.submit "Submit Comment" %>
</p>
<% end %>
<% else %>
<p> <em>You must be signed in to comment</em> </p>
<% end %>
</div>
这是我的评论控制器
class CommentsController < ApplicationController
def create
@answer = Answer.find(params[:answer_id])
@comment = @answer.comments.new(params[:comments])
@comment.writer = current_user.username
@comment.save
redirect_to question_path(@answer)
end
end
这是我的模特。
class Comment < ActiveRecord::Base
belongs_to :answer
attr_accessible :anonymous, :comment, :writer, :votes
end
继承我的答案模型
class Answer < ActiveRecord::Base
has_many :comments, dependent: :destroy
belongs_to :question
attr_accessible :anonymous, :answer, :commenter, :votes, :comments_attributes
end
有什么想法吗?
编辑:我使用了params [:comment],但是,它说我无法批量分配属性来回答,即使答案有attr_accessible ::: comments_attributes
答案 0 :(得分:0)
在此行中@comment = @answer.comments.new(params[:comments])
将:comments
更改为:comment
答案 1 :(得分:0)
你试图在你的控制器中使用params [:comments]保存,但传递的内容会响应params [:comment]