在Ruby on Rails中将元素类分为两个类html.slim

时间:2018-11-09 12:41:12

标签: css ruby-on-rails ruby sass

noobie在这里: 我有要分别设置样式的身份验证方法图标,但是它们属于同一类,并且我不理解如何重写该图标以对fb和google使用两个不同的样式。

HTML SLIM代码:

- if devise_mapping.omniauthable?
  .row
    .col-sm-12
      p.text-center.small-link= t('html.text.or_oauth_login')
      .col-sm-12.d-flex.justify-content-center.oauth-box
        - resource_class.omniauth_providers.each do |provider|
          a.tooltiptext.left[style="position:absolute; left: -10px; top: 43px; color: #FFFFFF;"]= t('html.links.tooltiptext')
          = link_to image_tag("#{provider}_logo.png", size: "40x40"), omniauth_authorize_path(resource_name, provider), class: "oauth-icon"

因此,唯一的类是“ oauth-icon”。我认为它需要来自devise.rb的#{provider}

config.omniauth :facebook, "xxxxxxxx", 
config.omniauth :google_oauth2, "xxxxxxxxxxx", "xxxxxxxxxx" {}

如何重写为两个类?

1 个答案:

答案 0 :(得分:0)

您可以添加另一个动态创建的类,例如:class: "oauth-icon #{provider}-icon",它将使oauth-icon类保留在原位(我假设是必需的),然后添加一个facebook-icon类或google_oauth2-icon类,具体取决于提供者。