0

この問題について多くのトピックがありますが、まだ何が間違っているのか理解できません。

次の関係を持つ 2 つのモデルがあります。

  • security_user_rb:

    attr_accessible ...(some fields)
                    :security_users_detail
    
    has_one :security_users_detail, dependent: :destroy
    
  • security_users_detail.rb

    attr_accessible ...(some fields)
    
    belongs_to :security_user
    

そして security_users_controlller.rb では、新しいアクションでこれを行っています:

@security_user = SecurityUser.new(params[:security_user])
@security_user.build_security_users_detail(security_users_detail: SecurityUsersDetail.new)

接続を確立できず、取得している理由

保護された属性を一括割り当てできません: security_users_detail

モデルに attr_accessible:security_users_detail があるためエラーですか?

編集:

問題が解決されるかどうかを確認するために、applicatin.rb ファイルの次の行にコメントを付けてみました。

config.active_record.whitelist_attributes = true

残念ながら、(サーバーを再起動した後)同じエラーが再び発生するため、私の問題は他の何かに関連していると思います.

4

1 に答える 1

0

全体の問題は、詳細モデルの検証によって引き起こされました。形式といくつかのフィールドの存在の両方をチェックする検証があるため、レールでは空のフィールドを持つオブジェクトを作成できなかったようです。

これを修正するには、validate:falseを使用する必要があります。

次のようなレールのデフォルトについて読むのに多くの時間を失いました

config.active_record.whitelist_attributes = true 

およびattr_accessibleの使用ですが、検証に失敗すると同じことがスローされる可能性があるようです

保護された属性を一括割り当てできません

エラー。

于 2013-06-28T17:01:13.230 に答える