0

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

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

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。真的很难过,过去几天我在谷歌上花了几个小时来弄清楚为什么会这样。

4

1 回答 1

0

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

我会检查任何类policy_type.policy_class指向,并尝试添加starts_onattr_accessible那里。

于 2012-09-08T03:25:14.980 回答