2010-07-22 70 views
0

我有一個對象:@object 與噸的布爾字段。Ruby on Rails:如何提交複選框?

現在。根據HTML規範,如果未選中複選框,則不會發送該值。

這是一個問題...因爲我需要這些信息。

我該如何解決這個問題?對於f.check_box的API建議fields_for ... http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#M002298

,但我無法弄清楚了@語法object.is_admin

= \

目前

,在不改變任何東西:我有這樣的:

<% form_for @object do |f| %> 
     <td><%= f.check_box :allow_downloads, :label => false %></td> 
. 
. 
. 

錯誤:undefined method to_i」的#`

回答

0

問題是我正在訪問錯誤的控制器。我將表單轉移到了正確的視圖(無論如何都對可用性更有意義),並且它很有用。

0

是該通道的自動生成的隱藏字段該文檔描述的eckboxes不適合你?

+0

在我的文章中添加了一些代碼。該頁面只會顯示錯誤。 – NullVoxPopuli 2010-07-22 19:27:40

1

這不是你應該關心的。

如果您查看check_box助手生成的代碼,您會看到rails會創建一個表示未檢查值的隱藏字段。 當您選中該複選框,將優先於隱藏字段,因爲它是後宣佈:

<input type="hidden" /> 
<input type="checkbox" /> 
0

有在<% f.check_box沒有「=」。它應該是<%= f.chec_box...

此外,如果所有字段都是布爾值,則可以將它們全部設置爲false,並且只將true設置爲通過請求傳遞的值。

+0

是的,我注意到...但這與我的undefined methodto_i'錯誤 – NullVoxPopuli 2010-07-22 19:55:15

+0

沒有任何關係,在你放置的代碼位中,甚至沒有'#'符號,我不能說出了什麼問題沒有看到至少在形式:] 可能它是一個錯字或沒有被關閉的東西。 – Draiken 2010-07-23 12:11:45