Ruby on rails 按钮标签rails按钮中嵌入的HTML
可能重复:Ruby on rails 按钮标签rails按钮中嵌入的HTML,ruby-on-rails,ruby-on-rails-3,twitter-bootstrap,Ruby On Rails,Ruby On Rails 3,Twitter Bootstrap,可能重复: 这可能是一个非常简单的问题,但我有以下HTML布局: <button class="btn btn-large btn-inverse"><i class="icon-white icon-shopping-cart"></i> Add to bag</button> 添加到包中 这是一个“添加到购物车”按钮,我将跟随《敏捷Web开发》一书创建购物车。问题是,在按钮标记之间嵌入了HTML,如何让它呈现这样的效果?我试过这个: %
这可能是一个非常简单的问题,但我有以下HTML布局:
<button class="btn btn-large btn-inverse"><i class="icon-white icon-shopping-cart"></i> Add to bag</button>
添加到包中
这是一个“添加到购物车”按钮,我将跟随《敏捷Web开发》一书创建购物车。问题是,在按钮标记之间嵌入了HTML,如何让它呈现这样的效果?我试过这个:
%= button_to raw('<i class="icon-white icon-shopping-cart"></i> Add to bag'), line_items_path(product_id: product) %>
%=按钮\u至原始('Add to bag'),行\u项目\u路径(产品\u id:产品)%>
但首先它打印的是一个“输入”而不是一个按钮,文本在html中是倾斜的,而不是在开始和结束标记之间
我知道我可以全部手动编写,但我希望知道是否有一种快捷方式可以使用rails标记将HTML输出,主要是因为通过twitter引导,我一直看到这种类型的HTML模式
非常感谢您的帮助。正如Misha所评论的,它类似于 可以使用content_标记帮助器在rails中编写按钮。但是,它不是一种快捷方式,因为它比原始html需要更长的编写时间 但是,如果您需要经常这样做,您可以编写一个自定义的帮助器方法来按照您想要的方式来做 只需添加到您的应用程序/helpers/application_helper.rb
def my_button_to name, options = {}, html_options = {} # or some variation
# eg. deal with options hash the way button_to deals with it here?
content_tag :button, html_options = nil do
raw name
end
end
现在,您可以在视图中使用此选项:
<%= my_button_to '<i class="icon-white icon-shopping-cart"></i> Add to bag', {}, :class => "btn btn-large btn-inverse" %>
“btn btn大btn反向”%>
好的,我检查内容标签,并让它:'btn btn large btn inverse')do%>'图标白色图标购物车“/>添加到包中---但现在如何轻松创建表单?这是另一个问题,但您必须将其包装在提交到行项目路径(产品id:product)的表单中
然后在您的内容标签中
必须设置:type=>submit
。您也可以将创建表单添加到帮助器方法中,只需将内容标签包装在表单中即可。。做结束
或表单标签。。做结束
这是一个坏主意,因为Rails已经有了一个助手的按钮,它的工作方式不同。你最好为这个按钮助手使用一个不同的名称。@Misha,好的,更改了名称ok ta,我想我会在内容标记周围使用form_标记包装器,这看起来很简单。谢谢各位。