当我的列在我的attr_accessible列表上时,为什么我会收到批量分配错误

时间:2012-09-07 20:36:26

标签: ruby ruby-on-rails-3 mass-assignment attr-accessible

这个问题有几个相关的问题。但没有一个答案能解决我的情况。

尝试创建新策略时,我在本地主机上收到此错误。

Can't mass-assign protected attributes: starts_on

在我的policy.rb模型中虽然我有这个:

class Policy < ActiveRecord::Base

belongs_to :policy_type

attr_accessible :starts_on,
                :ends_on,
                :i_agree_privacy_policy,
                :license,
                .
                .
                .etc...

validates:starts_on, :presence => true

def self.init(user, policy_type, load_user_profile = true)
    attributes = {
        :user => user,
        :policy_type => policy_type,
        :starts_on => Date.today
    }
    policy_type.policy_class.constantize.new(attributes)
end

etc...
end

表格是保险所以它很大但在这里也不重要,因为我在这里使用Date.today创建starts_on。真的难倒在这里,过去几天我花了几个小时在google上弄清楚为什么会发生这种情况。

1 个答案:

答案 0 :(得分:0)

您可能会在policy_type.policy_class解析到的实际班级上收到“无法批量分配”错误,而不是Policy

我会查看policy_type.policy_class分组的所有内容,并尝试在starts_on添加attr_accessible