私はリソースを持つレールアプリを持っているとしましょう - ユーザー。私は提供されている任意のページで利用できるjavascriptを持っています。私はユーザーの下で提供される任意のページで利用できるはずのjavascriptを持っています。そして私はユーザーの下でそれぞれの特定のアクションのために利用可能なjavascriptを持っています。 Rails 3.1以降では、Javascriptが必要なページでのみJavascriptを使用できるようにする簡単な方法はありますか? coffeescriptはどうですか?JavascriptやCoffeescriptをRailsアプリケーションで分割する最も良い方法は何ですか?
答えて
ボブのリンクされたアイテムは関連していると思います(読み込まれるファイルの数に対するパフォーマンスのトレードオフに関連するコメントがあります)が、名前のスペーシング、スコープおよび構造に関する問題がありました。
、具体的質問に答える(そして、あなたはjQueryのを使用していると仮定)するには、以下のCoffeeScriptを考慮してください。
$ ->
doSomething()
doSomethingElse("#some-element")
doSomething = ->
alert("I'm doing something")
doSomethingElse = (selector) ->
alert("I'm hiding something")
$(selector).hide()
のCoffeeScriptのコンパイラは、匿名関数内でこのすべてをラップします、したがって、唯一利用できるようになりますページがロードされるコンテキスト(スクリプトタグ、コントローラ特有のファイル、またはグローバルな可視性のためのapplication.js)内で実行されます。
考慮すべきモデルがいくつかあります。単純なことは、モデルに固有の「もの」と、一般的には有用なもの(グローバル)とのパターンに従うことです。だから私は、ユーザーに固有のjavascript関数をしたい場合はapp/assets/javascripts/users.js.coffee
に行く、それ以外の場合はグローバル(application.js.coffee
)にする必要があります。
rails-backbone
の宝石は、CoffeeScriptのモデル、ビュー、テンプレート、ルーターを作成するジェネレータを備えており、多くのものを通常のものと置き換えることができます。rails generate scaffold foo
- 同じ種類のCRUD操作はまったく異なるやり方で行われ、特にテンプレート(埋め込みJavaScript)はERBテンプレートと非常によく似ています。これは私のために、より多くの信仰の跳躍です。
アプリケーション全体のファイルであろうとコントローラ固有のファイルであろうと、コントローラ固有のファイルであろうとなかろうと、Asset Pipelineはすべてのコードを一緒にグロムしてすべてに送信します(デフォルト設定を保持していると仮定します)それは別の話題です。これは質問に答える場合
わからない、あなたが持っていたが、私はそれが資産のパイプラインがない配信資産の、区別することが重要だと思うし、スコープの問題であり実行するJavaScriptの、 CoffeeScriptは非常に優れた仕事をしており、backbone.jsはそれ以上のことをしています。
- 1. Railsアプリケーションでスキニングを実装する最も良い方法は何ですか
- 2. トランスポートストリームファイルを分割する最も良い方法は何ですか?
- 3. Ruby on Railsでユーザー設定を複数のページに分割する最も良い方法は何ですか?
- 4. JavaScriptの機能を分離する最も良い方法は何ですか?
- 5. イオンアプリケーションコードを分割する最良の方法は何ですか?
- 6. Railsルートでスラッグを翻訳する最も良い方法は何ですか
- 7. Railsプラグインに曲を追加する最も良い方法は何ですか?
- 8. javascriptでデータペアをグループ化する最も良い方法は何ですか?
- 9. Railsアプリケーションでenvハッシュからホスト名を取得する最も良い方法は何ですか?
- 10. RailsクエリにLIKE句を含める最も良い方法は何ですか?
- 11. 文字列をPHPでUnicode文字の配列に分割する最も良い方法は何ですか?
- 12. PHPで区切られた文字列データを分割する最も良い方法は何ですか
- 13. n個の列間でコンテンツを分割する最も良い方法は何ですか?
- 14. IEのCSSファイルをアセットで分割する最も良い方法は何ですか:プリコンパイルアセットパイプライン
- 15. 靴アプリケーションをデバッグする最も良い方法は何ですか?
- 16. Swing GUIにアプリケーションをリンクする最も良い方法は何ですか?
- 17. DjangoアプリケーションにAPIを追加する最も良い方法は何ですか?
- 18. javascriptの実行をプロファイルする最も良い方法は何ですか?
- 19. コレクションをロックする最も良い方法は何ですか?
- 20. Ruby on Railsアプリケーションをパッケージ化する最良の方法は何ですか?
- 21. Javascript配列のスジを数える最も良い方法は何ですか?
- 22. javascriptでアンカーhrefを部分的に変更する最も良い方法は何ですか
- 23. ゲーム内の複数のレベルのSKTextureAtlasを分割する最も良い方法は何ですか?
- 24. railsアプリケーションのユーザにロール/権限を実装する最も良い方法は何ですか?
- 25. Ruby on RailsアプリケーションからFlexチャートにデータを渡す最も良い方法は何ですか?
- 26. railsアプリケーションで画像のアップロードと切り抜きを行う最も良い方法は何ですか?
- 27. RailsアプリケーションでマルチページJavaScriptを管理する最適な方法は何ですか?
- 28. プロジェクトで最も良いバージョン管理方法は何ですか
- 29. NuSMVを学ぶ最も良い方法は何ですか?
- 30. Django 1.5を学ぶ最も良い方法は何ですか?
私はthis - http://stackoverflow.com/questions/602147/javascript-file-per-view-in-railsがあなたを助けることができると思います。 – Bob