我目前正在使用ruby on rails 3中的表单。因此,在我的项目表单中,我有一个按钮,可以在此项目中签署用户。然而,奇怪的是,button_to
标签关闭了我的整个表单,我不能再使用我的提交按钮了。
所以我尝试了很多,但我不明白为什么会这样。
所以这是我的表格:
<%= form_for @project, html: { class: "form-horizontal project" } do |f| %>
<div>
<%= f.label :users, 'Project Users:', :class => 'control-label', style: 'margin-bottom: 20px' %>
<div>
<% @project.users.order('last_name').each do |user| %>
<div style="margin-bottom: 15px">
<%= user.name %>
<%= button_to 'Sign Out', sign_user_out_project_path(user_id: user.id, id: @project), method: :delete, class: 'btn btn-danger btn-xs pull-right', style:'margin-right: 600px; margin-top: -20px' %>
</div>
<% end %>
</div>
</div>
<%= f.submit nil, :class => 'btn btn-primary' %>
<%= link_to t('.cancel', :default => t("helpers.links.cancel")),
projects_path, :class => 'btn btn-default' %>
<% end %>
在我看来,这段代码看起来很好,因为所有标签都完全关闭。但是,我认为在使用button_to
时可能会有一些魔力,所以也许有人知道更好的方式来做我想做的事。
谢谢!
答案 0 :(得分:4)
不要在表单中加**s**rc
。
(
button_to
)生成一个包含单个按钮的表单,该按钮提交给由这组选项创建的URL
-
HTML表单有一个docs,每当你实现一个时,你都应该遵守它。
在表单中包含表单会导致&#34;外部&#34;表单停止工作(HTML无法在button_to
之前处理另一个<form>
。
简单的答案是从表单中删除</form>
&amp;把它放在外面,或(在你的情况下),用另一个元素(button_to
)替换它。如果您希望链接看起来像一个按钮,则可以使用clear spec创建一个按钮:
link_to