我有以下代码:
<%= 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 {...}
来包围它,但没有改变
答案 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} %>
按预期工作