Я получаю объект JSON и гнездовой массив с помощью Rails 4 апи с Params так:Update массив с сильными параметрами Rails 4
{
"token" => "123"
"lessons" => [
{
"token_id" => "j12l3n123",
"attr_1" => "hello",
"attr_2" = "is it me you're looking for"
},
{
"token_id" => "j12l",
"attr_1" => "Nope",
"attr_3" = "You're not."
}
]
}
И у меня есть контроллер так:
def update_all
#fetch collection with one db hit
token_ids = params[:lessons].map{|l| l[:token_id]}
@lessons = Lesson.where(token_id: token_ids)
params[:lessons].each do |l|
lesson = @lessons.detect { |lesson| lesson.token_id == l[:token_id] }
# How do I update the record with strong params?
lesson.update_attributes(lesson_params)
end
end
private
def lesson_params
params.permit(
:attr_1,
:attr_2,
:attr_3
)
end
Как обновить каждую запись с правильным объектом в массиве и использовать сильные параметры для этого?
Как использовать это в контроллере? –
Не работает для меня, спасибо, что нашли время ответить. В любом случае, я уже нашел решение, которое работает и отправил ответ. –