3


0

Rails 3-JavaScriptをビューに含めますか?

これが私が正しいことをしようとしていることです…​ ユーザーがサインインしてランディングページにリダイレクトされたら、jquery ajaxを少し実行して、コンテンツを取得して挿入します。

私はもともとapplication.jsファイルにそれを持っていましたが、それに関する問題は、ログインしていないユーザーのコードがそこにあるということです。つまり、きれいに見えないものを考慮するためにロジックを追加する必要があることを意味します

私が欲しいのは、JavaScriptを含めることができるようにビューが呼び出されるときです。 ビューファイル自体に貼り付けようとしましたが、ページの下部にあるJQUERYの前にロードされるため失敗しました…​

Rails 3の達人はこれをどのように処理しますか? ありがとうございます。

3 Answer


5


最上部にjQueryファイルを含めることができます。

それがオプションではない場合、jQuery includeの下のレイアウトに `<%= yield:javascript%>`を追加し、実行します:

<% content_for :javascript do %>

        // code goes here

<% end %>

レイアウトの適切な場所に配置されます。 (ただし、キャッシュのために、インラインJavaScriptを使用する代わりに、外部ファイルにJavascriptを記述し、必要に応じて含めることをお勧めします。 良い習慣です。)


2


Google CDNからjQueryをロードし、ビュー固有のJSをロードします。 サインインしていないユーザーのランディングページの速度が心配な場合は、ページをキャッシュしてください。

さらに最適化する場合は、Sqiudのようなリバースプロキシを使用します。 JammitまたはAsset Packager(http://synthesis.sbecker.net/pages/asset_packager)を使用して、javascriptとCSSを最小化することもできます。

アドバイスの言葉として、アプリの作成が終わったらパフォーマンスの努力に集中する必要があります。開発の努力を妨げる優先度の低い問題に巻き込まれるのは簡単です。


1


ドキュメントの前半でjQueryをロードするだけで、自分で簡単に実行できます。 Google APIからロードすると、クライアントのブラウザーにキャッシュされる可能性があるため、ページロード時間の無視できる増加はまったくありません。