パブリックフォルダの下にある資産を必要とするのは良い方法ですか?例えば私はpublic/mythirdparyjsフォルダの下にたくさんのjavascriptを持っており、これらのjavascriptファイルを特定のページだけに利用できるようにしたいのですが、これを行うにはどうすればよいでしょうか?Railsのアセットパイプラインにはパブリックフォルダが必要ですか?
答えて
第三者のjsファイルは、ベンダーのフォルダにある必要があります。プロダクション用にプリコンパイルすると、パブリックフォルダに自動的に移動されます。特定のページの特定のファイルを呼び出すには、require_treeディレクティブを削除する必要があります。また、application.jsアセットファイルでどのファイルが呼び出されるかにも注意してください。あなたが追加する必要があります終了bodyタグの前に一番下にあなたのアプリケーション/レイアウトビューで次に
<%= content_for :javascript do %>
<script type='text/javascript'>
YOUR FUNCTIONS HERE
</script>
<% end %>
:すべてのビューページ(html.erb)の一番下であなただけのページ特定JSを実行するには、次を追加することができます。
<%= javascript_include_tag params[:controller] if Rails.application.assets_manifest.assets["#{params[:controller]}.js"] %>
<%=yield :javascript %>
これは、ページビュー単位ですべてのjsを実行し、対応するコントローラのjsアセットファイル内の任意のファイルに対して任意のrequireステートメントを含めます。
コメントを書き込むための更新:インストールした宝石があり、特定のjsファイルを要求する必要がある場合は、application.jsファイルのapp/assets/javascriptsフォルダから必要なものが必要です(その宝石アプリケーション全体で使用できるようにするため)、またはコントローラー固有のjsファイルで、数ページでその機能が必要な場合にのみ使用します。たとえば、角度の宝石はおそらくアプリケーション全体で使用されるので、// = requireステートメントをapp/assets/javascriptsフォルダ内のapplication.jsファイルに追加します。手動でjsライブラリをダウンロードする場合は、vendor/javascriptsフォルダに置く必要がありますが、app/assets/javascriptsフォルダのファイルには必要な場所が必要です。
- 1. アセットパイプラインではなくJSでパッケージが必要 - Rails
- 2. イメージ/パブリックフォルダのインポート/必要がありますか? WebPACKので
- 3. パブリック/アセットのファイルはアセットパイプラインで必要ですか?
- 4. Railsのアセットパイプライン
- 5. Railsではprotect_against_forgeryが必要ですか?
- 6. Rails 3.1:Devise_invitableにはRails 3.0.0が必要ですか?
- 7. Rails 3.1アセットパイプライン(PDFKit)
- 8. wicked_pdf + rails 3.1アセットパイプライン
- 9. Railsアセットパイプライン+ gitサブモジュール
- 10. Rails 3.1アセットパイプライン
- 11. Railsアセットパイプライン - カスタムjsファイル
- 12. Rails 3.2アセットパイプライン、CarrierWave、.gitignore
- 13. Rails 3.1アセットパイプラインとキャッシング
- 14. jquery and rails 3アセットパイプライン
- 15. Rails 5.1 Bootstrapにはrails-assets.orgとrails-assets-thetherが必要ですか?
- 16. Railsのアセットパイプラインでjavascriptを整理する
- 17. Ruby on Railsパブリックフォルダへのパス
- 18. Rails 3:アセットパイプライン+多くのレイアウト
- 19. RailsアセットパイプラインとTwitterのブートストラップGem
- 20. Rails - IRBは必要ですか?
- 21. RailsにJSON 1.8.3が必要な原因は何ですか?
- 22. Railsでattr_accessorが必要なのはなぜですか?
- 23. SassがRails 3.1のアセットパイプラインではなく、アセット:プリコンパイルのレーキタスク
- 24. Rails 3.0でアセットパイプラインを使用する
- 25. RailsアセットパイプラインにHAMLを追加する
- 26. Railsバンドルのインストールパスワードが必要です
- 27. Rails 3:RailsではどのようなCSSスタイルが必要ですか?
- 28. Rails 3.1.1アセットパイプラインHeroku caching gotcha
- 29. Rails 3.1サブパイプ付きアセットパイプライン
- 30. Rails 3.1、アセットパイプラインからJSファイルを除外
サードパーティのjavascriptを含むディレクトリ構造の例を教えてください。あなたはこのようなsthを意味しますか:public/angular/angular.js、angular-messages.jsなど? (私たちがanglejs gemを使用せず、.jsファイルを直接インクルードするとしましょう)。 – Lev