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_onしてみattr_accessibleます。

于 2012-09-08T03:25:14.980 に答える