2013-05-19 3 views
0

просмотра кода для передачи параметра в поле номераПередача параметра переоцененный number_field

<%= f.number_field :cap, :value => params[:cap] %> 

не возвращает параметр, как HTML код свидетельствует

<input class=" number_field" id="azienda_cap" name="azienda[cap]" size="30" type="text" value="" /> 

Однако для всех других объектов в форме (text_field, text_area, collection_select) значения заполняются из URL-адреса

/aziendas/new?action=show&cap=20081&cognome=J&comune= ... 

и отладки на Params делает государству

cap: "20081" 

API-интерфейс не дает никакой конкретной подсказки здесь

ответ

0

Значение должно быть передано в качестве второго аргумента f.number_field, а не в качестве пары ключ-значение (см http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-number_field_tag для получения дополнительной информации)

Таким образом, чтобы решить проблему, попробуйте изменить свой код в целях:

<%= f.number_field :cap, params[:cap] %>

+0

<% = f.number_field: cap, params [: cap]%> return не может преобразовать символ в ошибку Integer. Сначала у меня было это. Я вспомнил, что цифры лучше обрабатываются в текстовом поле. Посмотрите <% = f.text_field: cap,: value => params [: cap]%> отработано! Спасибо за эту мысль, она что-то катализировала ... – Jerome

0

Несмотря на то, что переменная создается как целое число, определение формы с помощью текстового поля вместо этого принимает значения параметра.

<%= f.text_field :cap, :value => params[:cap] %> 
Смежные вопросы