【发布时间】:2016-04-10 17:45:49
【问题描述】:
我目前正在使用 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 时可能会有一些魔力,所以也许有人知道更好的方法来做我想做的事。
谢谢!
【问题讨论】:
-
表单内的按钮提交表单。从您的代码中,我根本看不到表单的意义,因为没有其他输入,例如文本字段、选择、复选框等
-
还有更多,我没有复制那部分,因为它与那个问题无关。所以我不能在我的表单中使用 button_to 吗?我可以用什么代替?我可以使用“link_to”吗?
-
为什么不简单的
link_to呢?事实上,您可以直接在代码中将button_to替换为link_to,它应该可以立即工作。 -
是的,只是使用一个link_to
-
button_to 创建一个按钮标签。表单内的按钮标记在单击时提交该表单。 link_to 只是创建一个锚标记。
标签: ruby-on-rails ruby forms ruby-on-rails-3