2012-10-09 42 views
0

我試圖在check_box_tag上使用:called方法,並且還記住來自DB的布爾值的狀態。check_box_tag:調用並檢查狀態錯誤

如果我設置check_box_tag沒有檢查PARAM,它顯示並保存檢查與調用方法的數據庫,但我不能同時使用檢查,並呼籲同check_box_tag

繼承人的代碼

EDIT 我從形式改變由雨果Logmans建議在於form_tag:

<%= form_tag(courses_pensum_path(course_pensum.id), method: :put, remote: true, id: "edit_courses_pensum_#{course_pensum.id}") do %> 
       <%= hidden_field_tag(:pensum_id, value=current_pensum.id) %> 
       <%= hidden_field_tag(:course_id, value=course.id) %> 
       <div class="form-inline"> 
       <%= check_box_tag name="type[]", value="other_area", checked: (course_pensum.other_area ? true : false), 
        :called, :onclick => "$('#edit_courses_pensum_#{course_pensum.id}').submit()" %> 
       <%= label_tag 'OA', nil, class: "checkbox" %> 
       </div> 
      <% end %> 

,因爲它是它示出了用於check_box_tag參數錯誤,我猜它是一個愚蠢的問題,但後來我還沒有看到它..

謝謝你的幫助!

+0

你爲什麼要將form_for與那些非form_form標籤混合?使用f.check_box:調用,:onclick =>「yourhandler」。 –

+0

我得到一個名爲f.check_box的nomethod錯誤:名爲:onclick +> xx,表單是通過has_many連接表...不知道這是什麼影響它! – maumercado

回答

0

因爲我認爲這是一個語法錯誤,一個朋友在這裏幫我找出...

這是我結束了在形式

<%= form_tag(courses_pensum_path(course_pensum.id), method: :put, remote: true, id: "edit_courses_pensum_#{course_pensum.id}") do %> 
       <%= hidden_field_tag(:pensum_id, value=current_pensum.id) %> 
       <%= hidden_field_tag(:course_id, value=course.id) %> 
       <div class="form-inline"> 
       <%= check_box_tag "type[]", "other_area", course_pensum.other_area, 
        :onclick => "$('#edit_courses_pensum_#{course_pensum.id}').submit()", 
        disabled: (current_user.role?('student') ? true : false) %> 
       <%= label_tag 'OA', nil, class: "checkbox" %> 
<% end %> 

謝謝大家!