2010-07-22 4 views
0

У меня есть объект: @object с кучей булевых полей.Ruby on Rails: Как отправить форму флажков?

сейчас. в соответствии с спецификацией HTML, если флажок не установлен, значение не отправляется.

Это проблема ... потому что мне нужна эта информация.

Как мне обойти это? API-интерфейс для f.check_box предлагает 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

1

Это ничего не должно вас беспокоить.

Если вы посмотрите на код сгенерированного кода check_box, вы увидите, что рельсы создают скрытое поле, которое представляет неконтролируемое значение. Когда вы установите флажок, он будет иметь приоритет над скрытым полем, так как он заявил после этого:

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

Там нет «=» в <% f.check_box. Он должен быть <%= f.chec_box...

кроме того, если все поля являются логическими, вы можете установить их все в false и установить только те, которые прошли через запрос.

+0

aye, я заметил это ... но это не имеет ничего общего с моей неопределенной ошибкой methodto_i – NullVoxPopuli

+0

ну, в бит кода, который вы там помещаете, нет даже символа '#', я не могу сказать, что не так не видя хотя бы форму:] , вероятно, это опечатка или что-то не закрывающее. – Draiken

Смежные вопросы