像Rails 3中的link_to一样使用button_tag

5
我需要使用这段代码:
<%= button_tag :class => "btn btn-primary" do %>
 <%= t('.follow_all')%>
<% end %>

HTML输出:

<button class="btn btn-primary" name="button" type="submit">
 Follow all
</button>

如果可能的话,我该如何将这个按钮用作链接,就像这样:

<%= button_tag new_user_registration_path, :class => "btn btn-primary" do %>
     <%= t('.follow_all')%>
    <% end %>

我需要使用button_tag辅助工具。我不能使用link_to辅助工具,或者如果可能的话,我如何在不使用表单的情况下发送参数?

3个回答

7
这是什么意思:

这是什么意思:

<%= button_tag(:type => 'button') do %>
  <% link_to t('.follow_all'), new_user_registration_path %>
<% end %>

抱歉,但我不需要在<button>标签内部放置链接。 - hyperrjas
1
@hyperrjas,我认为你误解了按钮元素的作用。你的选择要么是按照Oscar建议的这样做,要么使用button_to。 - Nobita
谢谢,但是我的框架 Twitter Bootstrap 按钮类没有正确显示! - hyperrjas
1
那么你需要做奥斯卡建议的事情。 - Nobita

3

3
谢谢您,但 button_to 生成的是 <input> 按钮。我不能使用 <input>,我需要使用 <button> </button> - hyperrjas
由于 CSS 样式是针对 <button> 元素的,您可以查看:http://twitter.github.com/bootstrap/base-css.html#buttons - hyperrjas
1
如果您添加 class => 'btn btn-primary',它也会适用于输入框和链接。试试吧。 - Oscar Del Ben
1
对于这个例子:<%= button_to "New", :action => "new", :form_class => "new-thing" %>,我在HTML中看到了<form class="button_to"...等等。但我应该看到的是<form class="new-thing"。问题出在哪里呢?:O - hyperrjas
你没有将URL选项与HTML选项分开。请这样做:<%= button_to "New", {:action => "new"}, :form_class => "new-thing" %> - Oscar Del Ben
显示剩余2条评论

1

试试这个:

<%= button_tag onclick: "location.href='{new_user_registration_path}'",
  type: :button, class: "btn btn-primary" do %>
  <%= t('.follow_all')%>
<% end %>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接