Я испытываю проблемы при сохранении simple_form.fields_for - запрещено атрибуты ошибкиRails ActiveModel :: ForbiddenAttributesError - ActiveModel :: ForbiddenAttributesError в simple_form nested_fields
'создать' действие в контроллер бронирований выглядит так:
def create
...
new_params = params[:booking]
new_params[:user_attributes] = new_params[:user_attributes].merge({"password"=>"osmsmsmsm32"}) # password is temp stuff to bypass User save validation
@booking = Booking.new
@booking.update(params)
# however @booking.user.update(params[:booking][:user_attributes]) gives the same error
...
end
...
def booking_params
params.require(:booking).permit(:arrived_at, :departured_at, :arrival_address,
:departure_address, :arrival_city, :departure_city,
:reservation_cost, :total_additional_cost, :user_attributes, :user_id, :garage_id,
user_attributes: [:id, :name, :surname, :email, :phone],
garage_attributes: [:id]
)
end
===========================
Booking:
belongs_to :user
accepts_nested_attributes_for :user
===========================
##In model User:
has_many :bookings
Однако @booking.user.save & @booking.save
в консоли irb с теми же параметрами успешно сохраняются и передается значение true, без Ошибка запрещенного атрибута.
Откуда этот атрибут Forbidden? Я уверен, что разрешил все attrs, которые я отправляю в форме, и я думаю, что я правильно использую accepts_nested_attributes_for, не так ли?
Спасибо за ответ. Однако это уже сделано так. Но на удивление не работает, вот почему я удивился. –
можете ли вы написать рельсы версии вашего проекта, и вы строите пользовательский объект внутри своего нового действия контроллера? –
ссылается на эту ссылку: http://stackoverflow.com/questions/22990103/activemodelforbiddenattributeserror-using-update-attributes-having-created-par –