2010-11-18 3 views
0

私はSAASソリューションを設定しています。各アカウントは独自のサブドメインを持っています。 sub1.mydomain.com sub2.mydomain.comとアプリケーションテンプレートでは、標準の2列のテンプレートをセットアップしました。そこには、各サイトのカスタム部分とカスタムstyle.cssファイル各サブドメイン 私はこれを設定してカスタム情報を表示する方法を知りたいと思います。スタイル・コントローラーをセットアップしたいと思います。左側のサイドバーの項目だけを表示します。各ドメイン名のstyle.cssページには、誰にも良いアイデアがありますか?カスタムテンプレートを使用するrails3

基本的に静的ページコントローラの場合、私はそのセットアップは既に別のDBアクションと同様に持っています しかし、任意のヒントをいただければ幸いです。

答えて

1

は、私が働いているプロジェクトを見てみましょう:あなたが必要https://github.com/fabiob/guildhost-hosting

コードがapp/controllers/application_controller.rbである:

app/views/layouts/application.html.erbでも
class ApplicationController < ActionController::Base 
    protect_from_forgery 

    before_filter :load_subdomain 

    def load_subdomain 
    @subdomain = self.request.subdomains[0] || 'local' 
    load_customer 

    raise "Invalid Subdomain: #{self.request.subdomains}" unless @subdomain.present? 
    end 

    def load_customer 
    @customer = Customer.find(@subdomain) 
    end 
end 

<!DOCTYPE html> 
<html> 
<head> 
    <title><%= @customer.name %> @ MySaaS.com.br</title> 
    <%= stylesheet_link_tag :all %> 
    <%= stylesheet_link_tag "/themes/#{@subdomain}/main.css" %> 
    <%= javascript_include_tag :defaults %> 
    <%= csrf_meta_tag %> 
</head> 
<body> 
    ... 
</body> 
</html> 

/public/themesがあります各サブドメインのカスタマイズが存在するフォルダ。各サブドメインには、単一のCSSをカスタマイズする機会があります(main.css)。複数のCSSファイルが必要な場合はmain.css@import句を使用する必要があります。

+0

私は今度はbeforeフィルタタグを持っているので、どういうわけか各アクションからグローバルIDを見つけることができますか? @accountid = Account.find_by_subdomain!(request.subdomain).id – tspore

関連する問題