Я делаю приложение со списком продуктов, в котором я хотел бы позволить пользователям отмечать товары, которые они поместили в корзину. Я хотел бы сделать это, переключая атрибут «найдено» с ложного на истинное (в моей модели «предмет»).
Вот код, который у меня есть для этого:
<% for item in @items %>
<tr>
<td><%= check_box, item, :found, {}, true, false %></td>
<td><%= item.quantity %></td>
<td><%= item.name %></td>
<td><%= item.category %></td>
</tr>
<br />
<% end %>
У меня есть ссылка «обновить» внизу страницы. В списке много элементов, и когда я прошу обновить список, я предполагаю, что я также обновляю атрибуты элементов в этом списке.
<%= link_to "Update", @list, :method => :put %> |
Вот действие обновления в моем контроллере списка:
def update
@list = List.find(params[:id])
if @list.update_attributes(params[:list])
flash[:notice] = "Successfully updated list"
redirect_to @list
else
render :action => 'edit'
end
end
Мне кажется, я правильно следую документации для check_box. Тем не менее, каким-то образом «найденный» логический тип остается ложным после обновления. Кто-нибудь знает, как правильно это реализовать? Я бы не хотел пока использовать AJAX. Спасибо!