如何关闭form_tag?这是我的代码:
<%= form_tag :action => 'authenticate' %>
<h1>Already a member?</h1>
<table>
<tr>
<td>Username*: </td>
<td><%= text_field("userform", "user_name", :size => "20", :class => "field") %></td>
</tr>
<tr>
<td>Password*: </td>
<td><%= password_field("userform", "password", :size => "20", :class => "field") %></td>
</tr>
<tr>
<td></td><td><input type="submit" value="Login" class="form_button" /></td>
</tr>
</table>
<hr />
<%= form_tag :action => 'register' %>
<h1>Register</h1>
<table>
<tr>
<td>Username*: </td>
<td><%= text_field("userform", "user_name", :size => "20", :class => "field") %></td>
</tr>
<tr>
<td>Password*: </td>
<td><%= password_field("userform", "password", :size => "20", :class => "field") %></td>
</tr>
<tr>
<td>Email*: </td>
<td><%= text_field("userform", "password", :size => "20", :class => "field") %></td>
</tr>
<tr>
<td></td><td><input type="submit" value="Register" class="form_button" /></td>
</tr>
</table>
我尝试了<% end %>
和<% end_form_tag %>
,但我收到了错误。 (意外的kEND)。我用谷歌搜索了一下,我见过的任何东西都没有帮助。哦,如果我删除水平标尺后的所有内容,表单工作正常。但我想在页面上有两个表格......
我正在使用Rails 2.3.5。
答案 0 :(得分:11)
form_tag
也会占用一个块,您可以在其中放置表单元素,然后它将自动关闭。来自the docs:
<% form_tag '/posts' do -%>
<div><%= submit_tag 'Save' %></div>
<% end -%>
# => <form action="/posts" method="post"><div><input type="submit" name="submit" value="Save" /></div></form>
答案 1 :(得分:5)
简短版本(另见:http://dev.rubyonrails.org/ticket/7391):
</form>
正确版本:
<% form_tag '/someform' do -%>
<div><%= submit_tag 'Submit' %></div>
<% end -%>
答案 2 :(得分:0)
我的修复方法是在结束前包含提交按钮,并使按钮不显示。
<%= submit_tag('',style: 'width:0;height:0;display:none;') %>
<% end %>
这会将结束标记放在我需要的位置。
答案 3 :(得分:0)
我的修复方法是将表单标记放在表格标记的上方。
<%= form_tag(update_password_path, :method=> "post") do |f| %>
<p id="notice"><%= notice %></p>
<table align="center">