2011-12-29 45 views
18

我想将一些使用Rails simple_form生成的表单放在一个页面上,并使用javascript对它们进行操作。然而,simple_form为表单中的各个输入生成相同的ID。因此我想用我自己的替换生成的ID。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只是一个例子。我希望能够选择这个ID。

我使用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 2011-12-30 23:59:19

+0

:input_html,:label_html,:wrapper_html将涵盖大部分这些事情。 – 2011-12-31 02:34:53