我有一個複選框和布爾值的大問題。我想使用複選框簡單地更改數據庫中一個字段的值。代碼是這樣的:Rails 4複選框不起作用,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 %>
是否有任何人誰知道爲什麼它不工作?
編輯
一個重要的事實,之後點擊「提交」我有閃光消息「成功」。那麼爲什麼我沒有看到變化?這是控制器或其他地方的問題嗎?
嘗試'form_for @ collection'。 – Gene
表單是爲@collection呈現的,所以這裏應該是集合。無論如何,我檢查了你的解決方案,並不能正常工作 – tommybernaciak
請參閱'http:// apidock.com/rails/ActionView/Helpers/FormHelper/form_for'上的例子。符號將起作用,並且一個實例('@')變量將起作用,但我不認爲一個裸露的變量會起作用。 – Gene