2012-03-18 35 views
2

私はサブドメインで動作するWebアプリケーションを作成しています。カスタムドメインを追加して、ドメイン(hello.com)がサブドメイン(123.hellothere.com)に移動するようにユーザーがCNAMEを作成できるようにしたいと思います。Ruby on Railsカスタムドメイン

Ruby on Railsでこれをどうやってやりますか?

私はすでにサブドメインをアプリケーションで正常に動作させていますが、カスタムドメインの追加に問題があるようです。

ユーザーのブログに関するデータベースにはsubdomaincustom_domainがあります。

私はこのチュートリアルの後に、http://glacialis.postmodo.com/posts/cname-and-subdomain-routing-in-railsを実行しようとしました。

EDIT

subdomaincustom_domainは、ブログのモデルに添付されています。サブドメインのために、私は私はあなたがあなたのサブドメインを設定しているのか分からないが、あなたはこのどこかのように見えるいくつかのコードを持っている必要がありRailsCasts

答えて

3

でこのチュートリアルを使用:

def current_account 
    Account.find_by_subdomain(request.subdomain) || Account.find_by_custom_domain(request.host) 
end 

このコードは、単に証拠でありますの概念。 a)ドメイン間の盗み(custom_domainパラメータの一意性チェック)から保護し、b)ドメインがcustom_domainフィールドに入力されていないことを確認して、複数の「ローカル」ドメインを持つことを確認する必要があります。

編集:コントローラーにcurrent accountメソッドが定義されている場合は、データベースへの不要な呼び出しを避けるために、@current_account ||=をメモしておく必要があります。

+2

SSLを使用している場合は、通常は少し高価なワイルドカード証明書が必要です。そうしないと、サブドメインが一致しないため、クライアントが無効な証明書を取得する問題が発生します。 – kobaltz