나는 체크 박스와 부울 값에 큰 문제가 있습니다. 확인란을 사용하여 db의 한 필드 값을 간단히 변경하고 싶습니다. 코드는 다음과 같다 :레일 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 %>
있습니까?
편집
한 가지 중요한 사실은, 클릭 한 후 I 플래시 메시지를 '성공'을 '제출'. 왜 내가 그 변화를 보지 못했을까요? 그것은 컨트롤러 또는 다른 곳에서 문제가됩니까?
'form_for @ collection'을 시도하십시오. – Gene
양식이 @collection에 렌더링되므로 여기에 컬렉션이 있어야합니다. 어쨌든 당신의 솔루션을 점검하고 작동하지 않습니다. – tommybernaciak
http : // apidock.com/rails/ActionView/Helpers/FormHelper/form_for'의 예제를 참조하십시오. 기호가 작동하고 인스턴스 ('@') 변수가 작동하지만 베어 변수가 작동하지 않는다고 생각합니다. – Gene