2011-12-29 3 views
18

Я хочу поместить несколько форм, сгенерированных с помощью Rails simple_form на одной странице, и работать с ними с помощью javascript. Однако simple_form генерирует те же идентификаторы для соответствующих входных данных в формах. Таким образом, я хочу заменить сгенерированный идентификатор моим собственным.Rails simple_form: пользовательский ввод id

Теперь у меня есть строка:

<%= f.input :id, :as => :hidden, :html => {:value => @question.id} %> 

и вывод HTML (для @ question.id = 1):

<input id="question_id" class="hidden" type="hidden" value="1" name="question[id]"> 

и я хочу получить:

<input id="question_id_1" class="hidden" type="hidden" value="1" name="question[id]"> 

question_id_1 - всего лишь пример. Я хочу иметь возможность выбрать этот идентификатор.

Я использую Rails 3 и simple_form 1.5.

ответ

28

Вы почти у цели.

Трюк заключается в указании :input_html.

<%= f.input :id, :as => :hidden, 
     :input_html => { 
     :value => @question.id, 
     :id => "question_id_1" 
     } %> 
+0

Большое спасибо. Я попытался: ': html' и': html_options', но ': input_html' решает проблему. – mrzasa

+0

: input_html,: label_html,: wrapper_html будет охватывать большинство из этих вещей. –

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