У меня большая проблема с флажками и логическими значениями. Я хочу просто изменить значение одного поля в db, используя флажок. Код выглядит так:Rails 4 checkbox не работает, никаких изменений в db
Collection_controller:
def update
@collection = Collection.find(params[:id]).album
if @collection.update_attributes(:for_sale)
flash[:success] = "success"
redirect_to current_user
else
flash[:success] = "not working"
end
end
def collection_params
params.require(:collection).permit(:to_buy, :for_sale)
end
и форма:
<%= form_for collection do |f| %>
<div><%= f.check_box :for_sale%></div>
<%= f.submit "sale", class: "btn btn-primary" %>
<% end %>
Есть ли кто-нибудь, кто знает, почему он не работает?
EDIT
Один важный факт, после нажатия «Отправить» У меня есть флэш-сообщение «успеха». Так почему я не вижу изменений? Это проблема в контроллере или где-то еще?
Попробуйте 'form_for @ collection'. Форма – Gene
отображается для @collection, поэтому здесь должна быть коллекция. В любом случае, я проверил ваше решение и не работал – tommybernaciak
Пожалуйста, смотрите примеры на странице http: // apidock.com/rails/ActionView/Helpers/FormHelper/form_for'. Символ будет работать, и переменная instance ('@') будет работать, но я не думаю, что голова переменная будет работать. – Gene