如何将data-disable-with上的html设置为rails submit_tag

Sle*_*nny 22 html erb twitter-bootstrap ruby-on-rails-4

我有一个使用bootstrap的RoR应用程序.我正在尝试将fontawesome html图标标记应用于submit_tag帮助程序,但似乎不支持它.当我单击提交时,禁用内容只显示为字符串而不是解释为html,尽管它适用于link_to帮助程序.

这是erb:

    <%= form_tag("/home/search", method: "get", class: "form-inline", role: "search", remote: true) do %>
    <div class="form-group">
        <%= text_field_tag(:term, nil, {:class => "form-control", "data-html" => true, :value => @term}) %>
    </div>
    <%= submit_tag "Go!", class: "btn btn-transparent", role: "button", 'data-disable-with' => "<i class='fa fa-spinner fa-spin'></i> Searching...".html_safe %>    
 <% end %>
Run Code Online (Sandbox Code Playgroud)

这就是我点击提交时的样子: 在此输入图像描述

它适用于link_to,但是我无法将text_field_tag中的值传递给link_to,否则,我会对该解决方案感到满意.我真的宁愿避免自己编写.ajax方法并使用javascript来操作按钮值.有关如何使用标准FormHelper标签解决此问题的任何建议?提前谢谢了.

小智 32

您应该尝试将submit_tag更改为button_tag,如下所示:

<%= button_tag "Go!", class: "btn btn-transparent", 'data-disable-with' => "<i class='fa fa-spinner fa-spin'></i> Searching...".html_safe %>    
Run Code Online (Sandbox Code Playgroud)

  • 这绝对是正确的答案.`submit` HTML标签的样式与`button`标签截然不同.使用`button`仍然会提交表单,但也允许嵌入HTML标签. (3认同)

Jer*_*nch 5

如果使用simple_form

<%= f.button :button, 
             'Save', 
             class: 'my-class', 
             data: { 
               disable_with: '<i class="fa fa-spinner fa-spin"></i>'
             } %>
Run Code Online (Sandbox Code Playgroud)