form_for closes <form> tag
I have a strange situation happening on a page where my <form>
tags are being closed immediately, leaving the form's contents on their own and not useful.
Here's the basic ERB:
<%= form_for(@review) do |f| %>
<%= render 'apply/review_form', :locals => {:f => f} %>
<%= f.text_field :notes %>
<% end %>
Seems simple, right? I have tried the partial on its own; the text_field
on its own; a different version using form_tag
, but nothing works.
The HTML looks like this:
<div id="reviewContainer">
<form accept-charset="UTF-8" action="/reviews" class="new_review" id="new_review" method="post">
</form>
<div style="margin:0;padding:0;display:inline">
<input name="utf8" type="hidden" value="✓">
<input name="authenticity_token" type="hidden" value="dJSuLMfhBSVKAM3Buwe1NjtBedSLQl062/+oliGbBfE=">
</div>
<input id="review_notes" name="review[notes]" size="30" type="text">
<div class="clear"></div>
</div>
Any ideas? It seems so simple I can't understand why it wouldn't be working!
Possibly helpful information
This form is not the only form on the p开发者_如何学JAVAage, and it is enclosed in a JQuery Tools Scrollable.
I had this problem and figured it out. For me, it was because I was rendering the form in an invalid place. Specifically, I had some content like this:
<table>
<tr>
<td>
Stuff I might want to edit
</td>
<div style="display: none">
<%= form_for thing_i_might_want_to_edit %>
...
<% end %>
</div>
</tr>
</table>
Moving the hidden div (and the form inside it) into the tag fixed the problem.
What version of Rails are you using? Coz till 2.3.2 form_for didn't return back a value
<% form_for(@review) do |f| %>
Note the "=" missing at the start!
My way to fix it is to include the submit button right before the end and make the button not display.
<%= submit_tag('',style: 'width:0;height:0;display:none;') %>
<% end %>
This puts the ending tag right where I need it.
精彩评论