【问题标题】:Rails 3 Submit Tag + html_safeRails 3提交标签+ html_safe
【发布时间】:2012-08-18 03:35:23
【问题描述】:
这行代码有什么问题?
<%= submit_tag "Delete <i class='icon-check'></i>".html_safe, :disable_with => "Deleting", :class => "btn btn-danger"%>
这实际上产生:
显然我的 html_safe 调用没有做任何事情。
背景:
我正在使用Twitter Bootstrap 和Font Awesome,我实际上是在尝试实现一个带有图标的提交按钮。
【问题讨论】:
标签:
ruby-on-rails-3
html-sanitizing
font-awesome
html-safe
【解决方案1】:
它有什么问题?提交按钮值不应包含嵌入的 HTML 代码。
这是提交按钮在 HTML 中的外观:
<input type="submit" value="Submit" />
value 属性中的 HTML 标记被解释为文本,而不是 HTML:
<input type="submit" value="<i>Submit</i>" />
【解决方案2】:
为了扩展 Lukas 的回答,我需要一个按钮标签而不是输入。这段代码产生了我想要的效果:
<button type="submit" class="btn btn-danger">
Delete <i class="icon-check"></i>
</button>
导致:
我找到了我正在寻找的答案here。
【解决方案3】:
<%= form.button :submit, class: 'btn btn-success' do %>
<i class="fa fa-plus"></i> Add Funder <i class="fa fa-chevron-right"></i>
<% end %>
这个答案很好。