Я бы хотел иметь более систематическое решение для себя, чтобы избежать массовых назначений.
Типичная ситуация - удалить id или user_id из params (отправляется автоматически через форму) и заменить его внутри current_user.id (в MyController # create).
Решение, которое я могу придумать, - создать объект из хэша params, затем update_attributes (родительских и дочерних объектов), чтобы заменить чувствительные атрибуты внутренними значениями:
@user = User.create(:params[:user])
@user.update_attributes(:id => current_user.id)
@user.profile.update_attributes(:user_id => current_user.id)
@user.preference.update_attributes(:user_id => current_user.id)
Есть ли более короткий / более СУХОЙ способ сказать это?
Если предпочтение, профиль и т. Д. Являются дочерними объектами пользователя (созданными с помощью метода сборки), как я могу написать метод для поиска их внешних ключей для пользователя и автоматической замены их значением, которое я передал родителю?
Спасибо.