在Rails submit_tag中的数据加载文本中添加图标

时间:2016-05-22 17:56:23

标签: ruby-on-rails twitter-bootstrap

我有以下代码: <%= submit_tag t('submit'), class: "btn btn-primary", id: "email_submitbutton", "data-loading-text" => "<i class='fa fa-circle-o-notch fa-spin'></i> Processing Order" %>

data-loading-text中的图标标记由Rails处理为纯文本。

我尝试使用data {...}来包围它,但没有改变

2 个答案:

答案 0 :(得分:2)

我认为您正在寻找的是disable_with选项并使用按钮。

http://apidock.com/rails/ActionView/Helpers/FormTagHelper/submit_tag http://apidock.com/rails/ActionView/Helpers/FormTagHelper/button_tag

html无法在提交标记中使用的原因是它们已经变为带有提交类型的HTML输入标记。

<%= submit_tag "<p>Hi</p>" %>

<input type="submit" value="<p>Hi</p>">

Rails 3 Submit Tag + html_safe

<%= button_tag t('submit'), class: "btn btn-primary", id: "email_submitbutton", data: { disable_with: "<i class='fa fa-circle-o-notch fa-spin'></i> Processing Order".html_safe } %>

另外,我强烈建议使用Font-Awesome gem。

https://github.com/FortAwesome/font-awesome-sass

这很酷,因为这意味着您不需要在您的Ruby代码中手写HTML。

答案 1 :(得分:1)

我找到了另一种方法来实现与Bootstrap的data-loading-text相同的效果(单击时更改按钮中的文本)。

我将data-loading-text更改为disable_with并使用submit_tag更改button_tag

<%= button_tag t('submit'), class: "btn btn-primary", id: "email_submitbutton", data: {disable_with: "<i class='fa fa-circle-o-notch fa-spin'></i> Processing Order".html_safe} %>

按预期工作