11
votes

Rails - compréhension de l'application.js et application.css

Nouveau des rails. Il suffit d'essayer de comprendre ces deux fichiers dans le répertoire \ ASSESTS.

Par exemple, le fichier Application.js comporte des lignes telles que: P>

//= require jquery
//= require jquery_ujs
//= require_tree .


0 commentaires

4 Réponses :


0
votes

Je pense que cela les obtient à partir du (s) gemme (s) installé sur votre système et inclus dans ce projet via votre gemfile.

Vous pouvez apprendre à http://guides.rubyonRails.org/ Asset_pipeline.html # Manifeste-Files-and-Directives


2 commentaires

Merci Michael. Pour ma propre curiosité, où puis-je trouver ces fichiers? Êtes-vous en train de dire qu'ils ne sont probablement pas spécifiques à mon projet, mais sont situés dans un autre autre répertoire associé à des rails dans son ensemble? (Si indépendant du projet)


@Ricky, par exemple, si vous tapez dans le terminal 'GEM que JQuery-rails', vous pouvez voir le chemin où vous pouvez trouver ces fichiers



1
votes

C'est des rails magiques! Donc, non, vous ne pouvez pas voir les fichiers dans votre propre répertoire de projet. Si vous êtes vraiment curieux, vous pouvez vérifier le code du GEM sur la page GITHUB de GEM https://github.com/twbs / bootstrap

Aussi, si vous VRAIRE VRAIMENT voulez-vous modifier quelque chose dans la gemme, vous pouvez rechercher le code dans votre propre Github, changer les choses sur votre branche locale, puis spécifier votre propre GitHub comme source pour Le gemme dans votre gemfile telle que ...

GEM 'Twitter-bootstrap',: git => 'git@github.com: my_github / twitter_bootstrap.git'

Mais, vous ne voudrez peut-être pas essayer que si vous êtes vraiment nouveau dans les rails;)


0 commentaires

3
votes

Pour le comprendre, vous devez regarder Sprockets , utilisé pour la compilation et la servition Actifs Web.

Vous pouvez trouver ces fichiers à l'aide de GEM que . Voici un exemple avec bootstrap-sass : xxx

l'explication de @import 'bootstrap' : https://github.com/thomas-mcdonald/bootstrap-sass#css et il y a Une ouverture problème avec des commentaires. < / p>


0 commentaires

16
votes

L'application.css et l'application.js ne sont pas des fichiers CSS et JS réguliers (ils pourraient être, mais ils servent un but différent

Les deux sont des fichiers manifestes qui racontent le pipeline d'actifs avec des pignons pour JS P>

Donc, aussi correctement signalé par la réponse de Michael Durrant, http: //guides.rubyonRails. org / asset_pipeline.html # manifeste-fichiers-and-directives sera le bon endroit p>

mais selon vos autres questions, il semble que vous manquiez une pièce assez critique du puzzle p >

rails fonctionne principalement avec des gemmes. Les gemmes sont des morceaux de code Ruby que vous pouvez dire à ajouter à votre application Rails via Bundler P>

Lorsque vous ajoutez un tel gemme comme le gemme de bootstrap, il est installé (par défaut dans la bibliothèque GEMS où vous avez Ruby installé - quelque chose comme Ruby193 \ lib \ gems \ gems \ 1.9.1 \ gems) p>

Si vous y allez et cherchez la gemme de bootstrap, vous trouverez les fichiers CSS et JS inclus dans l'application, Et aussi les jQuery et jquery_ujs que vous incluez dans le fichier manifeste p>

puisque les gemmes sont installées aux côtés de rails, les rails ne vous dérangent pas où les fichiers sont (aussi longtemps qu'il sait où ils sont). P>

Le fichier manifeste indique des rails "hey, inclure ces fichiers pour moi, dans cet ordre spécifique" C'est pourquoi vous pouvez inclure des fichiers que vous avez écrites qui figurent dans le dossier d'actifs et les fichiers sont inclus dans un gemme p>

si vous n'incluez pas les fichiers du manifeste mais que vous installez toujours le gemme équivalent à écrire un fichier CSS ou JS, placer dans un dossier et ne pas dire des rails qu'il existe. Lorsque vous indiquez des rails où il se trouve, via le fichier manifeste, il comprendra dans le processus de compilation des actifs et vous pouvez y accéder régulièrement. P>

alternativement, vous n'avez pas à utiliser le pipeline d'actif pour Actifs P>

Vous pouvez inclure le fichier CSS et JS avec un P>

 <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>


0 commentaires