Rails3.1 + Mongoid sau mâncăm bomboane de sticlă

Rails este o platformă extraordinară. Rails 3.1 este și mai superb. Mongoid ușurează munca cu date persistente fără doar și poate. Totul pare roz. Însă în practică folosirea combinației Rails + Mongodb (mongoid în cazul meu) este mai mult asemănătoare cu mâncatul bomboanelor de sticlă - sunt atât de bune, vrei să înfuleci tot mai multe până într-o zi îți crapă o mesea sau îți cade smalțul. Asta mi s-a întâmplat azi. 

Dacă utilizați Rails3.1 + Mongoid  și urmați intrucțiunile de aici pentru producție o să descoperiți că include_javascript_tag ‘application’ generează fișierul fără md5 sufixat, indiferent că aveți config.assets.digest = true sau false.

Adică include_javascript_tag generează așa ceva:

<script src=”/javascripts/application.js” type=”text/javascript"></script> în loc de <script src=”/assets/application-d11539e671d8e6b007fb25acdda9f9a7.js" type=”text/javascript"></script>

Pentru a fixa această problemă am pierdut exact timp cât pierzi la stomatolog pentru ca să repari o măsea.

Soluția este ca în application.rb trebuie inclus 

require ‘sprockets/railtie’

Pentru configurația implicită rails (Rails + AR) ea era inclusă cu require ‘railtie/all’ dar așa cum pentru mongoid nu avem nevoie de tot, am scos-o…

Cel mai frustrant e că acest hăculeț nicăieri nu este documentat :(. Rails se configurează nu chiar așa de simplu cum se pare la prima vedere. 


  1. eciur posted this
blog comments powered by Disqus