2011-12-29 12 views
18

Rails simple_formで生成された複数のフォームを1ページに入れて、それらを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_1" class="hidden" type="hidden" value="1" name="question[id]"> 

<input id="question_id" 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

+0

:input_html、:label_html、:wrapper_htmlはこれらのほとんどをカバーします。 –

関連する問題