ruby-on-rails-4 - rails - the asset is not present in the asset pipeline
Agregar una nueva carpeta a la ruta de activos en los rieles 4 (1)
Quiero crear una nueva carpeta en app/assets
, en esta carpeta tengo algún archivo, cada archivo tiene una carpeta css y una carpeta javascript, como las siguientes direcciones:
app/assets/plugins/bootstrap/css/bootstrap.min.css
app/assets/plugins/bootstrap/js/bootstrap.min.js
Uso el siguiente código para definir el archivo css
, pero no es cierto y los rieles no pueden encontrar y cargar 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 %>
¿Cómo puedo declarar css
y javascript
desde la carpeta del plugin
?
Nota: Cuando quiera ver el archivo css
en el navegador por esta dirección:
http://localhost:3000/assets/plugins/bootstrap/css/bootstrap.min.css
Me aparece el siguiente error: No route matches [GET] "/assets/plugins/bootstrap/css/bootstrap.min.css"
Pero para el archivo css que existe en los assets/stylesheets/
puedo ver el archivo css en el navegador al ingresar la dirección como arriba. ¿Por qué el diferente directorio de stylesheets
y plugins
?
En application.rb
, agregue las siguientes líneas:
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")
Entonces podrá acceder a bootstrap.min.css y bootstrap.min.js en su navegador,
es decir, http://localhost:3000/assets/bootstrap.min.css
/ http://localhost:3000/assets/bootstrap.min.js
Eso significa que ha agregado lo anterior a las rutas de activos.
Ahora puedes llamarlo usando stylesheet_link_tag
o javascript_include_tag
.
Espero eso ayude :)