私はRailsに関心があります。Railsアプリケーション作成のための自動化スクリプト
ユーザーがアカウントを作成(アプリケーションの作成、ユーザーの設定の設定、データベースの設定など)する際に、自動的にRailsアプリケーション(Redmine)をインストールできるRails対応のWebサイトを作成したいと思います。それ自身のサブドメイン。
どうすればいいですか?
私はRailsに関心があります。Railsアプリケーション作成のための自動化スクリプト
ユーザーがアカウントを作成(アプリケーションの作成、ユーザーの設定の設定、データベースの設定など)する際に、自動的にRailsアプリケーション(Redmine)をインストールできるRails対応のWebサイトを作成したいと思います。それ自身のサブドメイン。
どうすればいいですか?
redmineと、各ユーザーのサブドメインを作成するsubdomain_fuのようなプラグインを使用して、サーバー上に100種類のレールアプリを用意するのではなく、あなたはラムを使い果たします。たぶん私は間違ってあなたの質問を読んでいる。もし私が謝罪ならば。
サブドメインをデータベース接続にマップするモデル(たとえば、アカウント)を追加できます。リクエストが来たら、サブドメインに基づいてオンザフライでデータベース接続を切り替えます。それぞれのサブドメインが独自のルックアンドフィールを持つようにビューパスを追加することもできます。アプリケーションコントローラのbefore_filterで例えば
:レールのテンプレートに
@account ||= Account.find_by_domain(request.host)
render :text => "#{request.host} can not be found" and return false if @account.nil?
ActiveRecord::Base.establish_connection(@account.database_connection)
self.prepend_view_path @account.view_path
ルック - それは内蔵のアプリを作成するためのテンプレートを指定することができます機能。あなたは本当に細かくそれらを得ることができます - 私はブートストラップされたユーザーとコンテンツを作成します。 Here's some examples、Here's mine ...最新だと思います。
あなたのアプリケーションを使ってテンプレートを生成し、ユーザーのためだけにカスタマイズし、そこからアプリケーションを生成することができます。
あなたがrails
コマンドを実行するときに、テンプレートを指定します。rails appname -m templatefile.rb
いいえ、あなたは正しいです。お互いのユーザーが他のプロジェクトを見ていない限り、それは良い解決策です。 –
と他のプロジェクトを見ないようにするには、アプリケーションコントローラにauthorized_userメソッドを書くか、redmineに既にあるものがあるかもしれません。サブドメイン、より良い方法:-) – pjammer