Ruby没有在标签button_to上显示按钮

时间:2014-10-13 09:15:06

标签: ruby-on-rails ruby

你好我正在阅读关于ruby on rails“Agile Web Development with Rails 4”的指南,我正在我的计算机上运行Ruby 1.9.3

在interxtion 9.3中我试图创建一个按钮来创建一个带有标签button_to的LineItem

<%= button_to 'Add to Cart', line_item_path(product_id: product) %>

但是当我尝试在localhost中执行代码时,按钮不会出现。

Ruby 1.9.3中是否存在此标记的代码变体?

2 个答案:

答案 0 :(得分:0)

您的语法似乎有问题:

<%= button_to raw("<i class=\"icon-search icon-white\">Add To Cart</i>"), 
          line_items_path(product_id: product), 
          class: "btn btn-success" %>

将按钮的标签用双引号括起来,转义i标签中的双引号,最后将所有内容包装到raw()调用中,以确保正确显示HTML。

或者你可以使用html_safe:

<%= button_to "<i class=\"icon-search icon-white\">Add To Cart</i>".html_safe, 
          line_items_path(product_id: product), 
          class: "btn btn-success" %>

答案 1 :(得分:0)

除非您绝对需要button_to帮助程序提供的表单创建功能,否则您可能需要使用link_to或button_tag,这两者都需要块。

<%=button_tag class: "btn btn-success" do %>
  <i class="icon-search icon-white">Add to Cart </i> 
<%end%>

<%=link_to products_path, class: "btn btn-success" do %>
  <i class="icon-search icon-white">Add to Cart &nbsp;</i> 
<%end%>

希望有所帮助。