我当前正在使用链接:

<%= link_to edit_webcast_path(@webcast), :class => 'btn'  do %>
    <i class="icon-pencil"></i> Edit Webcast
<% end %>

但是我想对button_to做同样的操作,但是button_to必须传递第一个label参数,否则它将使用路径作为其标签。
<%= button_to edit_webcast_path(@webcast), :class => 'btn'  do %>
    <i class="icon-pencil"></i> Edit Webcast
<% end %>

... 生成一个带有标签的按钮,该标签是已解析的编辑网络广播路径(@webcast)路径。实际上似乎没有效果。
我尝试直接将html作为第一个参数传递:
<%= button_to "<i class=\"icon-white icon-minus-sign \"></i> Edit Webcast".html_safe, webcast_path(@webcast), :class => 'btn'%>

但这会产生一个按钮,其中的标签显示了我传入的html字符串的一部分。查看生成的HTMl,我可以看到第一个参数的内容放在输入的value属性中,而不是输入本身。
我怎样才能让它工作?

最佳答案

Railsbutton_to生成一个包含html<input type="submit">元素的表单,而不是包含html<button>元素的表单。
您可以尝试覆盖它或编写自己的助手来生成<button>,使用look at this example

08-04 16:47