使用content_tag自定义font-awesome按钮

Ada*_*NYC 2 ruby-on-rails font-awesome

我想有一个按钮,看起来像Log in with [FB],wher [FB]是字体真棒图标.(请注意,此图标出现在最后).为此,这有效:

= form_tag my_path, :method => :post do
  = button_tag do
    Log in with
    %i.icon-facebook
Run Code Online (Sandbox Code Playgroud)

我想通过创建一个新的帮助方法来干掉它:

  def button_to_with_icon(path, text, button_class, icon)
    form_tag path, :method => :post do
      button_tag(:class => button_class) do
        text
        content_tag :i, "" , :class => icon.to_sym
      end
    end
  end
Run Code Online (Sandbox Code Playgroud)

但是,text参数不会以HTML格式呈现.我该如何解决这个问题?

Séb*_*ier 7

button_tag块将使用那里返回的文本作为文本.在这里你隐含地返回content_tag并抛出文本.

你应该concat在你的content_tag块里面使用:

button_tag do
  concat text
  concat content_tag(:i, nil, :class => icon.to_sym)
end
Run Code Online (Sandbox Code Playgroud)