2016-04-16 8 views
0

フロントエンド用には、ブートストラップ、jquery、たくさんのjqueryプラグインに依存するレールアプリがあります。
私はサードパーティのテンプレートを使用してそれのためのプロモーションページを持っています。それは独自の依存関係(それらの多く)があり、私はそれが何らかの形で私のアプリの残りの部分を混乱させたくありません。
基本的には、それは私のアプリケーションの残りの部分からできるだけ別にしたい。
完全に静的で、残りのアプリと対話する必要はありません。 私はテンプレート作成のためにerbを必要としません。
また、残りのアプリケーションとは別の依存関係を残したいと思っています。
どうすればいいですか?レールで重い静的ページを分離する

+0

あなたが尋ねていることを理解するのは難しいです。 RailsはバックエンドのHTTPサーバーフレームワークですが、JQueryやその他のフロントエンドの依存関係について話しているようです。どのような依存関係を分離したいのですが、どうしてできないのですか?何を試しましたか? – Knetic

答えて

2

アプリケーションのpublicフォルダに別の静的なindex.htmlファイルを作成し、ルートがconfig/routes.rbファイル内のコントローラアクションを指していないことを確認できます。

ルート以外の特定のパスにサービスを提供したい場合は、publicフォルダ内にこれらのフォルダを作成し、そこにindex.htmlファイルを置きます。

この場合、アプリケーションの残りの部分が混乱することはなく、Webサーバー(つまりnginx)が動的に生成されたページよりも速くキャッシュしてサービスできるため、メリットがあります。

+0

と依存関係は 'public'フォルダ内の' index.html'と一緒にフォルダ内に保持していますか? 'assets.rb'内のcssとjsファイルを宣言する必要はありますか?コントローラ?@IvanLučev –

+1

あなたは 'public'フォルダにもこれらの依存関係を置くことができ、' css/something.css'のように 'public/css/something.css ' ')。このページに関連付けられたアクションがある場合は、 'routes.rb'で設定する必要があります(これらのページを' views'フォルダに入れてレンダリングが簡単にできます)。 –

+0

@AndréGuimarãesSakataが言ったように、私はパブリックフォルダのindex.htmlと一緒に、おそらくスタイルシートとjavascriptのようなサブフォルダに入れます。 アセットにアトリビュートを追加すると、複数のリクエストを避けるためにプリコンパイルして1つのファイルにマージするのに便利ですが、静的ファイルは生成されたmd5ハッシュフィンガープリントを認識しないため、何とか設定することが可能です。 –

関連する問題