Im, использующий Grape и не могу понять, почему я не могу изменить params Mash.Ruby Mash с использованием
class Publisher < ActiveRecord::Base
end
После работает отлично:
post do
Publisher.create!({
name: params[:name],
partner_id: @current_partner.id
})
end
и создает новую запись в моей БД с name
и partner_id
при условии
, но у меня есть много записей в params
, поэтому я хочу, чтобы просто добавить partner_id
к их.
post do
p params
params.partner_id = @current_partner.id
p params
Publisher.create!(params.require(:name, :partner_id))
end
выход:
#<Hashie::Mash name="myName">
#<Hashie::Mash name="myName" partner_id=1>
но вставка строки в БД с NULL
в partner_id
колонке
ли неправильное использование?
Также я не могу использовать только params
в update()
из-за ActiveModel::ForbiddenAttributesError
Правильно ли это обход?
Я думаю, что БД в порядке, потому что, если я вернусь к первому примеру (под «Следом работает нормально»), он снова работает отлично. – Yaroslav
Вы верны, перечитав свой вопрос, я понимаю, что у вас уже есть столбец, добавленный в таблицу. Я обновил свой ответ, извинился. – bloopletech
Обновленный мой ответ снова, я думаю, что теперь я решил основную причину вашей проблемы. Это научит меня быстро отвечать на вопросы. – bloopletech