Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Здравствуйте. Нужно решить небольшой issue с симпл формой.

Возникает проблема сохранения simple_form.fields_for - ошибка forbidden attributes

В create экшене примерно такие дела:

def create

...

new_params = params[:booking]

new_params[:user_attributes] = new_params[:user_attributes].merge({"password"=>"oopsopps222"})

@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

end

В модели Booking:

belongs_to :user

accepts_nested_attributes_for :user

В модели User:

has_many :bookings

Но @booking.user.save и @booking.save в консоли с такими же параметрами, которая отправляет форма, проходит и сохраняет (возвращает true)

В моделях user_params и booking_params указаны правильно:

private

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, :vehicle_id, :is_paid,

user_attributes: [:id, :name, :surname, :email, :phone],

garage_attributes: [:id]

)

end

и 

private

def user_params

params.require(

:user

).permit(

:name,

:surname,

:phone,

:email,

:password,

:password_confirmation

)

end

в соотв. контроллерах.

есть и другие правки.

Оставляйте более менее предметный отклик, а не копипастнутый ответ, и свои ожидания по вознаграждению за решение этой проблемы и почасовая ставка в рублях.

С компаниями тоже не готов сотрудничать - только индивидуальные фрилансеры.

7 лет назад
guest_1478607645807
7 лет в сервисе
Был
7 лет назад