注释属性不会保存在Rails中?

时间:2014-02-22 07:40:16

标签: ruby-on-rails

我正在尝试保存评论的评论文字部分,但由于某种原因它不会保存。 我正在检查我的服务器输出,并设置了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

2 个答案:

答案 0 :(得分:0)

在此行中@comment = @answer.comments.new(params[:comments]):comments更改为:comment

答案 1 :(得分:0)

你试图在你的控制器中使用params [:comments]保存,但传递的内容会响应params [:comment]