表单中的Button_to标签关闭表单

时间:2016-01-06 15:13:16

标签: ruby-on-rails ruby forms ruby-on-rails-3

我目前正在使用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时可能会有一些魔力,所以也许有人知道更好的方式来做我想做的事。

谢谢!

1 个答案:

答案 0 :(得分:4)

不要在表单中加**s**rc

根据naming conventions

  

button_to)生成一个包含单个按钮的表单,该按钮提交给由这组选项创建的URL

-

HTML表单有一个docs,每当你实现一个时,你都应该遵守它。

在表单中包含表单会导致&#34;外部&#34;表单停止工作(HTML无法在button_to之前处理另一个<form>

简单的答案是从表单中删除</form>&amp;把它放在外面,(在你的情况下),用另一个元素(button_to)替换它。如果您希望链接看起来像一个按钮,则可以使用clear spec创建一个按钮:

link_to