当我的列在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.tay创建starts_on。我在这里真的很困惑,过去几天我在谷歌上花了几个小时来弄清楚为什么会发生这种事。

您可能在policy_type.policy_class解析到的实际类上得到"Can't mass assign"错误,而不是在Policy上。

我会检查policy_type.policy_class指向的任何类,并尝试在那里将starts_on添加到attr_accessible

相关内容

  • 没有找到相关文章

最新更新