2012-05-24 4 views
13

Warum sehe ich oft gem 'jquery-rails außerhalb der :assets Gruppe?Warum befinden sich 'jQuery-Rails' oft außerhalb der Asset-Gruppe

group :assets do 
    gem 'sass-rails', " ~> 3.1.0" 
    gem 'coffee-rails', " ~> 3.1.0" 
    gem 'uglifier' 
end 

gem 'jquery-rails' 

Wird es fehlerhaftes Verhalten geben, wenn ich es hineinlege?

Danke!

+0

HIya, können Sie herausfinden, hier lesen: http://guides.rubyonrails.org/asset_pipeline.html; Warum ist die Asset-Gruppe da? Hoffe das hilft –

Antwort

13

Der Edelstein jquery-rails bietet auch einige Testhelfer. Vielleicht ziehen es die Leute daher vor, sie außerhalb der :assets Gruppe zu platzieren.

Die :assets Gruppe ist jedoch in der Entwicklungs- und Testumgebung enthalten, so dass Sie absolut sicher sein sollten, jquery-rails in Ihrer :assets Gruppe zu platzieren, wenn Sie möchten.

Stellen Sie sicher, dass Sie Ihre Assets vor der Bereitstellung Ihrer Anwendung vorkompilieren.

+2

- 1. Wenn Sie jemals 'jquery-rails' in der': assets'-Gruppe verwendet haben, würden Sie wissen, dass es NICHT 'absolut' sicher ist, in ': assets'-Gruppe zu investieren. Von Zeit zu Zeit können JQuery-Rails zusammenbrechen und keine Vorkompilierung hilft. Putting es außerhalb der ': Vermögenswerte' würde die Arbeit tun. – Aleks

+0

@Aleks Solange Sie Ihre Vermögenswerte in der richtigen Umgebung vorkompilieren, sollten Sie in Ordnung sein. Vorkompilieren in der Produktionsumgebung, wie erwähnt, würde nicht funktionieren. – thomasfedb

+0

@Aleks Beachten Sie, dass ich sage, dass die Assets-Gruppe in Entwicklung und Test enthalten ist, ich sage ** nicht **, dass es in der Produktion enthalten ist. Ich habe auch gesagt, dass ich die Ressourcen vor der Bereitstellung vorkompilieren soll. – thomasfedb

4

Die wirkliche Antwort dafür ist, dass gem 'jquery-rails' kann oft auf die Produktion zu brechen, und es würde keine Standard-Art der Befestigung dieser anderen dann Initialisieren der Edelstein selbst von Anfang an. Ich habe diese Probleme auf Heroku gesehen.

Die Lösung dafür ist jquery-rails außerhalb :assets Gruppe, und auf diese Weise würden Sie sicher sein, dass es nicht aufbrechen wird.

Auch die Frage ist alt, ich sicherstellen wollte, dass das der Grund ist, und Sie müssten wahrscheinlich 'jquery-rails'OUTSIDE:assets Gruppe setzen.

Verwandte Themen