Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Change html form id generated by form_for rails 3.1

I have this form_for:

<%= form_for [post, Comment.new,], :remote => true do |f| %> <%= f.text_area :content, :cols =>10, :rows => 1%> <% end %> <%= f.submit :class => "input_comment"  %> 

That generate the next code html:

<form method="post" id="new_comment" data-remote="true" class="new_comment"  action="/post/4efcda9e1d41c82486000077/comments" accept-charset="UTF-8"><div  style="margin:0;padding:0;display:inline"><input type="hidden" value="✓" name="utf8"> <input type="hidden" value="ctVfDF/O4FIR91I7bC5MVezQmutOCkX3dcXe73uNPZY=" name="authenticity_token">  <textarea rows="1" name="comment[content]" id="comment_content" cols="10"></textarea> <input type="submit" value="Create Comment" name="commit" class="input_comment"> </form> 

If I have many forms in a same page is not a html valid with the same id.

  • The id for form_for generate id="new_comment"
  • The id for textarea generate id="comment_content"

With so many forms in a same page is not valid html.

How can I change the id autogenerate by form_for method helper from rails 3.1?

like image 659
hyperrjas Avatar asked Dec 30 '11 17:12

hyperrjas


1 Answers

Adding on to what miked said, the easiest way to make unique form id's for the posts would be to use the post's id numbers in the id attribute, like so:

<%= form_for [post, Comment.new,], :remote => true, :html => { :id => "new_comment_on_#{post.id}" } do |f| %> 
like image 68
Batkins Avatar answered Oct 02 '22 14:10

Batkins