1

shopify.com のような Web アプリを作成したいと考えています。ユーザーは、サブドメイン (またはドメイン)、テーマをピックアップし、独自のストアを持つことができます。

これどうやってするの?メイン アプリケーションを作成し、新しいスタンドアロン バージョンのように自動的に展開し、git 経由で更新しますか?

Rails 3を使用しています。アドバイスありがとうございます。


返信に基づく: 1 つのアプリケーションのみを (複数のインスタンスなしで) 使用し、ユーザーにサブドメインを与えることを選択した場合、それは自分の Web サイトのように見えます。しかし、すべてが 1 つのデータベースに格納されます (いい考えですね?)。また、Rails アプリで複数のテーマを使用するにはどうすればよいですか?

4

2 に答える 2

6

LocomotiveCMS、特にルーティングシステムを見てください。Locomotiveは、実際には単一のRailsアプリケーション内で複数のサイトをホストしています。これは、リクエストURLが着信したときにそれを検査しcurrent_site、ドメインを処理するように設定されているサイトで変数を設定することによって行われます。その場合、current_siteこれは実際には、提供されている特定のサイトのすべてのページ、コンテンツ、設定などを含む単なるオブジェクトです。

したがって、あなたの質問に答えるには、Railsアプリにドメインに基づいて複数のサイトを提供する機能を与えるのが良い解決策だと思います。それはそれほど難しいことではなく、アプリの新しいインスタンスを自動的にデプロイしようとするよりも脆弱ではないように思えます。

于 2012-08-24T15:55:07.150 に答える
1

これまでのところ、ユーザーに独自のサブドメイン、異なるテーマを持たせたいと考えていますが、機能は同じです。ユーザーは、自分自身の何かを感じる必要があります。

間違いなく、複数のサブドメインをサポートする単一のアプリケーションが必要です。簡単なグーグル検索で [ http://37signals.com/svn/posts/1512-how-to-do-basecamp-style-subdomains-in-rails ] が表示されました。ここから何かヒントが得られるかもしれません。

たとえば、サービスがhttp://www.myfi.comの場合、簡単なアイデアは次のようになります。

  1. 顧客が登録するとき、サブドメインを選択させる必要があります。新しく作成されたアカウントは、このサブドメインに URL で関連付けられます。と言うhttp://customer1.myfi.com
  2. *.myfi.com世界中の誰もが でヒットするように、ドメインに登録する必要がanysubdomain.myfi.comあります。それがアプリケーションに含まれます。
  3. 次に、url 部分から、customer1使用されているサブドメイン ( ) を識別し、それをセッションで設定する必要があります。
  4. 誰かがログインしようとすると、そのサブドメインのアカウントのコンテキストでアカウントを確認する必要があります。
  5. 実際、以下のすべてのアクションは、サブドメインのアカウントのコンテキストで処理する必要があります。

ここで実装を垣間見てみました。特定のことについて混乱がある場合は、それも共有してください。


編集:

複数のテーマを考えるときはいつでも、css と js によって完全に駆動されるシンプルなデザインが必要です。ファイルには、app/viewクラス名または ID を持つコンテンツと HTML ノードのみを含める必要があります。

一般に、UI デザイナーは、そのようなテーマ メカニズムを作成する方法について、より役立つアイデアを提供できます。しかし、私が感じることができるのは、顧客が選択したテーマに基づいて、さまざまな css と js をロードする必要があるということだけです。

実際、戦略は際限なく洗練され、拡張可能ですが、常に簡単なものから始めるのが賢明です。そうすれば、アイデアは自動的により良いものに進化します。

于 2012-08-24T16:16:27.660 に答える