我有一个仅使用AngularJS的Rails 5应用程序,没有jQuery / Turbolinks。表单助手生成的典型提交按钮在此应用程序中不起作用(立即进入禁用状态)而不提交表单,我已经使用了type_&#34的button_tags;提交"代替。
如果我删除" name =' commit'"来自提交按钮的属性,它通过提交表单按预期工作。我想知道是否有一些与我没有看到的属性相关的东西。以下是一个示例表单。
<%= form_for(role) do |f| %>
<div class="field">
<%= f.label :name %>
<%= f.text_field :name %>
</div>
<div class="actions">
<%= f.submit %> <!-- this fails -->
<input type="submit" /> <!-- this works -->
</div>
<% end %>
点击之前,按钮html如下所示:
<input type="submit" name="commit" value="Update Role" data-disable-with="Update Role">
点击后,按钮如下所示:
<input type="submit" name="commit" value="Update Role" data-disable-with="Update Role" disabled="disabled" class="disabled">
好像Chrome认为该表单已提交,但有些事情阻止了这种情况发生。
答案 0 :(得分:0)
文档:Link
<div class="actions">
<%= f.submit "Commit", name: "commit" %>
#or
<input type="submit" name="Commit" />
</div>
答案 1 :(得分:0)
如documentation所示,这非常好。
<%= form_for @post do |f| %>
<%= f.submit %>
<% end %>
Rails form_for会将f.submit
转换为相应的提交按钮,类型为提交。尝试重新启动服务器一次,然后检查问题是否仍然存在。
另外一点是,rails表单中任何类型为submit
的按钮都将被视为表单提交按钮。