当我建立一个有一个关联时,不能进行大规模分配

时间:2013-03-26 04:29:07

标签: ruby-on-rails ruby ruby-on-rails-3

Order.rb:

class Order < ActiveRecord::Base
     has_one :review
end

Review.rb:

class Review < ActiveRecord::Base
    belongs_to :order
end

我需要使用此方法构建评论:

  class OrdersController < ApplicationController
    def build_review
      @review = Review.new(:order => @order)
    end

但我收到此错误: 无法批量分配受保护的属性:order

任何想法?

2 个答案:

答案 0 :(得分:6)

您需要通过参数哈希来进行质量分配的白名单。阅读http://api.rubyonrails.org/classes/ActiveModel/MassAssignmentSecurity/ClassMethods.html

将此添加到Review模型

attr_accessible :order

答案 1 :(得分:0)

最好使用@review = @order.build_review而不是将其添加到attr_accessible。以防万一;)