1
我對Rails相當陌生,並且無法獲取複選框的值。我花了幾個小時瀏覽線程和API文檔,但似乎無法獲得除零以外的任何價值。Rails複選框值始終爲零
複選框未綁定到任何模型的屬性,而是旨在成爲一個布爾值,將篩選出/中忽略的元素
這裏的複選框聲明:
<%= form_tag model_path, :method => 'get', :id => "data_search" do %>
<%= hidden_field_tag :direction, params[:direction] %>
<%= hidden_field_tag :sort, params[:sort] %>
<p>
<%= text_field_tag :search, params[:search] %>
<%= submit_tag "Search", :name => nil %>
<%= hidden_field_tag "include_ignored", 0 %> //tried the hidden field trick also, to
//no avail
<%= check_box_tag "include_ignored", 0 %>
Include ignored items
</p>
<% end %>
注我已經試過聲明的form_for外面的複選框的標籤,以及沒有效果
後來我在一個模型搜索使用此:
Model.where(:is_ignored => params[:include_ignored])
控制檯中的查詢輸出與調試程序相同, params [:include_ignored]爲空。
我可能會錯過什麼?提前致謝。
這是它的一部分,但它似乎並沒有默認值開始。第一次加載頁面時,我的目標是該複選框的值應該是false,因此表格只應顯示未忽略的項目。我可以很容易地在控制器中處理這種情況,但如果我不能獲得新的值用於稍後覆蓋,這將不會對我有幫助... – BrMcMullin
嗯,我不明白這裏。是的,check_box_tag將默認爲取消選中,因爲這是html在呈現頁面時顯示的內容。如果複選框被點擊或者沒有被選中,那麼你是否在稍後要從控制器控制的呼叫說? – huntsfromshadow
我試圖使用複選框的值作爲布爾值,並使用它來確定當控制器收集記錄並呈現它們時是否顯示「忽略」記錄。未選中時,「忽略」記錄將被過濾掉。勾選後,「忽略」記錄將被包含在視圖中。 – BrMcMullin