5

我想要一个按钮如下:

[ Sign in with FB]

其中 FB 是一个很棒的字体图标。我尝试了以下方法,但不知道如何将图标嵌入到按钮中:

= button_to "Login with", user_omniauth_authorize_path(:facebook)

这是font-awesome通常调用的方式(在haml中):

%i.icon-facebook-sign

如何达到我想要的效果?

谢谢你。

4

5 回答 5

6

你可以像这样传递一个块button_to

= button_to user_omniauth_authorize_path(:facebook) do
    Login with
    %i.icon-facebook-sign

(虽然我不确定你为什么不直接使用 Facebook 图标本身作为按钮。)

于 2013-07-08T21:36:40.237 回答
4

为 button_to 助手添加类选项

= button_to "Login with", user_omniauth_authorize_path(:facebook), :class => 'icon-facebook-sign'
于 2013-03-12T04:23:20.840 回答
0

您可以创建一个使用按钮标签但自定义输出的辅助方法:

#application_helper.rb

def button_to_with_icon(text, path, classes)
  form_tag path, :method => :post do
    button_tag(classes) do
      raw text
    end
  end
end

然后使用嵌入的原始 html 作为参数调用辅助方法:

<%= button_to_with_icon("login with <i class='fa fa-facebook-official'></i>", { action: "omniauth_authorize", controller: "users" }, class: "btn btn-info") %>

动作、控制器和类设置只是示例。但我认为,您可以修改它以满足您的需求。

于 2015-06-11T15:01:20.137 回答
0

这是我为我制作的帮手:

def html_button_to(html = nil, options = nil, html_options = nil)
  button_to(options, html_options) do
    html
  end
end

结合font-awesome-rails gem,它可以让你做到:

html_button_to fa_icon(:facebook, text: "Login with"), user_omniauth_authorize_path(:facebook)
于 2016-07-15T02:38:26.077 回答
0

试试这个代码,它为我运行

<%= button_to line_items_path(product_id: produit.id),class:"btn btn-outline-primary" do %> <i class="fas fa-shopping-basket"></i> <% end %>

只需更改图标

于 2020-02-14T06:44:37.690 回答