2013-04-11 10 views
7

Nella mia app Rails, ho ui-bootstrap-0.2.0.js nella directory vendor/assets/javascripts. Ho richiesto il file nel mio file application.js.Come caricare correttamente il modulo bootstrap di AngularJS?

ottengo un errore quando ho specificare il bootstrap come la mia dipendenza in questa linea, angular.module('myApp',['ui.bootstrap']);, come indicato da fare qui, http://angular-ui.github.io/bootstrap/

Chrome rileva un Uncaught ReferenceError: angular is not defined a questo modulo definito: angular.module("ui.bootstrap", ["ui.bootstrap.accordion", ...]) nel ui-bootstrap-0.2.0.js.

Tuttavia, angular.js rileva un errore No module:ui.bootstrap. Quindi sembra che entrambi questi file javascript non possano vedersi. c'è una soluzione a questo?

+1

Hai incluso 'angular.js' * prima * di bootstrap? –

+0

Sì, mi sono assicurato che angular.js fosse caricato prima del bootstrap. – user1002563

+0

Non ho molta familiarità con la pipeline degli asset di Rails. I file sono richiesti in modo asincrono o Rails genera i tag 'script' risultanti? Cioè, c'è l'output finale da guardare per vedere cosa sta succedendo? –

risposta

2

Ecco come ho fatto nel mio progetto:

<script type="text/javascript" src="libs/jquery-1.9.1.min.js"></script> 
<script type="text/javascript" src="libs/jquery-ui-1.10.2.custom.min.js"></script> 

<script type="text/javascript" src="libs/angular.min.js"></script> 
<script type="text/javascript" src="libs/angular-ui.min.js"></script> 
<script type="text/javascript" src="libs/angular-resource.min.js"></script> 

<script type="text/javascript" src="libs/ui-bootstrap-tpls-0.2.0.min.js"></script> 

<script type="text/javascript" src="js/app.js"></script> 
<script type="text/javascript" src="js/services.js"></script> 
<script type="text/javascript" src="js/directives.js"></script> 
<script type="text/javascript" src="js/filters.js"></script> 
<script type="text/javascript" src="js/controllers.js"></script> 
<script type="text/javascript" src="js/utils.js"></script> 

Ed è così che ho impostato il mio modulo applicativo:

var app = angular.module('myapp', ['ui.bootstrap','ngResource']); 
+0

Probabilmente lo farò come il tuo manualmente, ma preferirei poterlo richiedere nel mio Rails application.js usando '' '// require bootstrap_file''', quindi caricare tutti i miei file js caricando l'applicazione .js – user1002563

+1

Questo post può aiutarti? http://stackoverflow.com/questions/6149961/rails-3-1-asset-pipeline-and-manually-ordered-javascript-requires – jpmorin

Problemi correlati