私は 2 つのモデルUser
とを持つ Rails アプリケーションを開発していますClient
。
User
devise に支えられ、認証を担当しhas_one
Client
、特定のユーザーのクライアントの詳細を保持します。Client
を作成するたびにモデルが作成されるようにするため、この関係は常に存在しますUser
。
私が使用している管理領域にはActiveAdmin
. User
ここで、管理インターフェイスから を作成しようとすると、次のようなフォームを使用します。
form do |f|
f.inputs :username, :email, :password
f.inputs :name => "Client", :for => :client do |client|
client.inputs :name, :address, ...
end
end
問題は、User
またはClient
が保存され、ページが検証エラーでリロードされることです。Rails コンソールを確認WARNING: Can't mass-assign protected attributes: client_attributes
しましたが、作成しようとするたびにメッセージが表示されますUser
。
この問題を調べたところ、一括割り当てを可能にするにattr_accessible
は、割り当てが許可されているフィールドごとに定義する必要があることがわかりました。そのため、上記の各フィールドのモデルにこのディレクティブを配置Client
すると、メッセージが表示され続け、モデルが適切に保存されなくなります。
誰もこれについて手がかりを持っていますか?