我最近一直在使用Ruby on Rails,遇到了一个我无法弄清楚的问题。我需要创建一堆不起作用的表单模型。那就是他们应该有提交按钮,但点击后不应该做任何事情。通常使用html我会按照
的方式做一些事情<form action="#">
</form>
尝试将此转换为使用Rails表单助手,我已完成以下操作
<%= form_tag "#" do %>
<%= label_tag :username, "Username: " %>
<%= text_field_tag :username %>
<br />
<%= label_tag :password, "Password: " %>
<%= password_field_tag :password %>
<br />
<%= submit_tag "Login" %>
<% end %>
这会生成一个类似于我想要实现的形式,但是当单击提交按钮时,它会尝试访问/ #post post,这不是所需的结果。目前我唯一想到的就是设置按钮的禁用属性,但是有更好的方法吗?
答案 0 :(得分:2)
不幸的是,使用表单助手无法实现这一点。定义form_for
或form_tag
需要对表单执行操作。你可以设置
:action => "#"
但这需要在路线中包含行动 - &gt;有控制器的动作 - >再次渲染一些页面。
您可以在使用javascript加载后操作表单(但请记住将:remote
设置为true - )。或者,如果您坚持使用表单助手,请将submit_tag替换为button_tag
:
<%= button_tag "Login", :type => 'button'%>
答案 1 :(得分:2)
尝试
<% form_tag "#", :onSubmit => "return false" do %>
答案 2 :(得分:1)
您是否尝试使用button_tag
代替submit_tag
?见here。只要确保你没有使用默认值,否则你将会回到你开始的地方。