Я разрабатываю приложение для рельсов, в котором у меня есть две модели User
и Client
. User
поддерживается устройством и отвечает за аутентификацию, а 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, и каждый раз, когда я пытаюсь создать файл User
, появляется сообщение WARNING: Can't mass-assign protected attributes: client_attributes
.
Я искал эту проблему и обнаружил, что для того, чтобы разрешить массовое назначение, нужно было определить attr_accessible
для каждого из полей, разрешенных для назначения. Итак, я поместил эту директиву в модель Client
для каждого из полей, упомянутых выше, и сообщение продолжает появляться, препятствуя правильному сохранению моделей.
Кто-нибудь знает об этом?
User
иClient
. - person Tiago   schedule 29.09.2011