{"id":510,"date":"2017-01-25T18:25:47","date_gmt":"2017-01-25T17:25:47","guid":{"rendered":"http:\/\/capri.dev\/blog\/?p=510"},"modified":"2022-11-01T17:46:14","modified_gmt":"2022-11-01T16:46:14","slug":"rails-servir-assets-precompilados-en-entorno-development","status":"publish","type":"post","link":"https:\/\/capri.dev\/blog\/rails-servir-assets-precompilados-en-entorno-development\/","title":{"rendered":"Rails: Servir assets precompilados en entorno development"},"content":{"rendered":"<p>Llevo varios d\u00edas trabajando en la integraci\u00f3n del framework Metronic dentro de una aplicaci\u00f3n Rails, y uno de los problemas con que me encontr\u00e9 fue la desaparici\u00f3n de los assets de Metronic al pasar a producci\u00f3n (aunque en entorno de desarrollo todo se ve\u00eda bien). El problema era que el precompilado de assets no estaba incluyendo bien las rutas de todos los ficheros de Metronic. Al final, despu\u00e9s de dar muchas vueltas y leer mucho sin que todo esto me terminara de aclarar la soluci\u00f3n, decid\u00ed que la mejor manera para encontrar la respuesta era el m\u00e9todo de prueba y error, as\u00ed que me puse manos a la obra. El problema de este m\u00e9todo es que necesitaba subir mis cambios al servidor en producci\u00f3n cada vez que hac\u00eda modificaciones, por lo que perd\u00eda mucho tiempo. Despu\u00e9s de unas pocas pruebas infructuosas <strong>decid\u00ed que ten\u00eda que haber una manera de usar los assets precompilados tambi\u00e9n en el entorno de desarrollo<\/strong>, as\u00ed que busqu\u00e9 y busqu\u00e9 hasta que encontr\u00e9 la respuesta: En el fichero <strong>\/config\/environments\/development.rb<\/strong> hay varias l\u00edneas que controlan la manera en la que se comporta la inclusi\u00f3n de assets, en particular:<\/p>\n<pre class=\"prettyprint\"><code class=\"language-ruby\">\n  # Debug mode disables concatenation and preprocessing of assets.\n  # This option may cause significant delays in view rendering with a large\n  # number of complex assets.\n  config.assets.debug = true\n<\/code><\/pre>\n<p>Poniendo config.assets.debug a false conseguimos lo que queremos: que en el entorno de desarrollo se llame tambi\u00e9n a mis assets precompilados (en \/public\/assets) en vez de a los assets en bruto de \/app\/assets. A partir de este momento pude trabajar de manera mucho m\u00e1s fluida (todo lo fluida que Webrick me permiti\u00f3, pues parece que servir ficheros un poco pesados no es lo suyo porque a\u00f1ade bastante latencia).<\/p>\n<p>Por supuesto entre prueba y prueba hab\u00eda que precompilar assets (rake assets:precompile), y reiniciar Webrick, pero nada comparado con tener que subir decenas de carpetas al servidor cada vez.<\/p>\n<p>Finalmente la integraci\u00f3n de Metronic qued\u00f3 perfectamente funcional tambi\u00e9n en producci\u00f3n \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ruby on Rails: Usar los assets precompilados tambi\u00e9n en el entorno de desarrollo.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[167,162,168],"class_list":["post-510","post","type-post","status-publish","format-standard","hentry","category-tecnico","tag-rails-assets","tag-ruby-on-rails","tag-sprockets"],"_links":{"self":[{"href":"https:\/\/capri.dev\/blog\/wp-json\/wp\/v2\/posts\/510","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/capri.dev\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/capri.dev\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/capri.dev\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/capri.dev\/blog\/wp-json\/wp\/v2\/comments?post=510"}],"version-history":[{"count":0,"href":"https:\/\/capri.dev\/blog\/wp-json\/wp\/v2\/posts\/510\/revisions"}],"wp:attachment":[{"href":"https:\/\/capri.dev\/blog\/wp-json\/wp\/v2\/media?parent=510"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/capri.dev\/blog\/wp-json\/wp\/v2\/categories?post=510"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/capri.dev\/blog\/wp-json\/wp\/v2\/tags?post=510"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}