我有一個網站與客戶。每個客戶都可以擁有自己的主題,當某個客戶的用戶登錄時,必須加載公司主題。在application.css.scss中,我對每個公司都有這樣的一行:有條件加載樣式表
@import "_theme_x.css.scss";
@import "_theme_y.css.scss";
@import "_theme_z.css.scss";
如何只加載theme_x當公司x的用戶登錄並且不加載theme_y和theme_z?或者有更好的方法來做到這一點?謝謝!
我有一個網站與客戶。每個客戶都可以擁有自己的主題,當某個客戶的用戶登錄時,必須加載公司主題。在application.css.scss中,我對每個公司都有這樣的一行:有條件加載樣式表
@import "_theme_x.css.scss";
@import "_theme_y.css.scss";
@import "_theme_z.css.scss";
如何只加載theme_x當公司x的用戶登錄並且不加載theme_y和theme_z?或者有更好的方法來做到這一點?謝謝!
如果主題很大,您可能想要將它們與應用程序分開on.css並在您的佈局中有條件地加載它們。舉例來說,如果你有一個application_helper助手theme_stylesheet
返回客戶端使用的主題名稱:
# application.html.erb
<%= stylesheet_link_tag 'application', theme_stylesheet %>
如果他們是小,我喜歡的命名空間。保留application.css,但修改主題以在主體上使用頂級規則。在主體上放置一個標籤以選擇主題。這個美妙之處在於你可以動態地改變主題。
<body class="theme-<%= theme_stylesheet %>">
...
</body>
_theme_x.css.scss
body.theme-x {
...
}
你能做到這樣一樣可以第一,其客戶端登錄查看併爲他塗抹一些
佈局,幷包括不同勢佈局不同勢css文件。
像我這樣做
首先是讓法應用助手,但我可以根據用戶的角色,你
可以在根據客戶做實施佈局。
def choose_layout
if is_admin?(current_user) or is_super_admin?(current_user)
'admin'
else
'application'
end
並在控制器將實現根據用戶過濾器比之前的佈局中調用它
角色
class AdministratorController < ApplicationController
include ApplicationHelper
layout :choose_layout
def index
@user = User.new
@current_user = current_user
end
末
希望你能明白我的意思....