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