У меня есть модель человека и модель цитаты. У каждого человека может быть много цитат, связанных с ним, которые в свою очередь имеют такие вещи, как Автор, Текст, URL, связанный с ними. На практике только у одного человека есть объект кавычек, но потенциально у всех может быть один.
Я пытаюсь использовать простой, умеренный инструмент для цитат. Как, например, пользователи могут вводить кавычки, а администратор может пойти и получить все кавычки конкретного человека (но, как на практике, только у одного они будут) и установить флажок, который устанавливает логическое значение, одобренное 0 или 1. на самом деле отображаются кавычки, они фильтруются этим полем.
Я действительно запутался, пытаясь создать форму, которая обновит их все оптом. Я получил форму, чтобы отобразить их все так:
<% form_for :quotes, :html => { :method => :put }, :url => {:controller => "quote", :action => "bulk_update", } do |quote_form| %>
<% @person.quotes.each do |quote| %>
<p>
<% fields_for "quotes[id][]", quote do |fields| %>
Text....
<%= fields.check_box :approved %><br><br>
<% end %>
</p>
<% end %>
<%= submit_tag 'Update' %>
<% end %>
У меня просто невероятно общий элемент в контроллере массовых обновлений, который в основном похож на обычный контроллер обновлений. Я не уверен, что туда положить. Я мог бы попытаться поместить все кавычки, которые я, вероятно, должен, но я все равно не знаю, как добраться до этой переменной, потому что я делаю все это из представления Person и т. Д. Контроллер выглядит примерно так:
def bulk_update
@quote = Quote.find(params[:id])
end
Полагаю, я запутался в том, что удостоверение личности должно быть там и что должно быть передано. Должен ли удостоверение личности быть частью этого вообще? Как я уже сказал, мне все равно, если технически все цитаты отображаются на этой странице, их не нужно сортировать по пользователю.
Я получаю параметры, которые выглядят так:
"quotes" => {"id" => {"6" => {"Approved" => "0"}, ..
но он жалуется на то, что не может найти цитату без идентификатора. Меня не волнует идентификатор, так как я хочу массово обновить их все. Кажется, что эта конкретная структура будет отображать несколько идентификаторов, но, возможно, (вероятно) мне придется изменить свой контроллер, чтобы компенсировать это, хотя я не уверен, как. Это также не работает, когда я пытаюсь удалить кавычки, часть хэша, и просто "id" => {"6" => {"Approved" => "0"}, .. в качестве моих параметров.
РЕДАКТИРОВАТЬ: Я нашел заявление под названием update_all, но я не знаю, как выборочно передать ему то, что мне нужно ...