web-dev-qa-db-ja.com

Rails 4のアセットパスに新しいフォルダを追加します

app/assetsに新しいフォルダを作成したいのですが、このフォルダにファイルがいくつかあります。各ファイルには、以下に示すアドレスのように、cssフォルダとjavascriptフォルダがあります。

app/assets/plugins/bootstrap/css/bootstrap.min.cssapp/assets/plugins/bootstrap/js/bootstrap.min.js

以下のコードを使用してcssファイルを定義していますが、trueではなく、Railsがbootstrap.min.cssを見つけてロードできません:

<%= stylesheet_link_tag "bootstrap.min", media: "all", "data-turbolinks-track" => true %>

<%= stylesheet_link_tag "../plugins/bootstrap/css/bootstrap.min", media: "all", "data-turbolinks-track" => true %>

cssフォルダからjavascriptおよびpluginを宣言するにはどうすればよいですか?

注:ブラウザーでcssファイルをこのアドレスで表示する場合:

http://localhost:3000/assets/plugins/bootstrap/css/bootstrap.min.css

以下のエラーが発生します:No route matches [GET] "/assets/plugins/bootstrap/css/bootstrap.min.css"

しかし、assets/stylesheets/に存在するcssファイルの場合、ブラウザにcssファイルを表示するには、topなどのアドレスを入力します。なぜ異なるbeetwin stylesheetsおよびpluginsディレクトリですか?

20
mgh

application.rbに、以下の行を追加します。

config.assets.enabled = true
config.assets.paths << Rails.root.join("app", "assets", "plugins", "bootstrap","css")
config.assets.paths << Rails.root.join("app", "assets", "plugins", "bootstrap","js")

次に、ブラウザーでbootstrap.min.cssおよびbootstrap.min.jsにアクセスできます。

つまり、http://localhost:3000/assets/bootstrap.min.css/http://localhost:3000/assets/bootstrap.min.js

これは、アセットパスに上記を追加したことを意味します。

これで、stylesheet_link_tagまたはjavascript_include_tagを使用して呼び出すことができます。

それが役に立てば幸い :)

24