7

Dopo RAILS_ENV=production bundle exec rake assets:precompile il dropdown non risponde nell'ambiente di sviluppo. Non succede nulla cliccando sul pulsante. Tuttavia, la rimozione di tutto da public/assets inizia a funzionare. Funziona perfettamente anche in modalità produzione (rails s -e production)Dropdown del bootstrap su Twitter interrotto dopo la precompilazione delle risorse

L'applicazione utilizza twitter bootstrap e active admin. Sembra che qualcosa si stia prendendo conflicted.

Nota qui funziona bene nella messa in scena su Heroku

Ecco uno schiocco di html generato

<li id="organization-selector" class="dropdown"> 
    <a href="/" data-toggle="dropdown" data-target="#organization-selector" class="dropdown-toggle"> 
     RedKivi 
     <b class="caret"></b> 
    </a> 
    <ul class="dropdown-menu"> 
     <li> 
     <a href="/organizations/1">RedKivi</a> 
     </li> 
     <li> 
     <a href="/organizations/2">BoTree</a> 
     </li>     
     <li class="divider"></li> 
     <li> 
     <a href="/organizations/new">New organization</a> 
     </li> 
    </ul> 
</li> 

app/beni/fogli di stile/application.css.scss

... 
.... 
*= require_self 
*= require jquery.ui.slider 
*= require_tree . 

app/assets/javascripts/application.js

//= require jquery 
//= require jquery_ujs 
//= require jquery.ui.slider 
//= require bootstrap 
//= require_tree . 

Quali sono le pratiche per precompilare le risorse?

risposta

0

Come imparo che normalmente non è necessario precompilare le risorse localmente. Generalmente viene fatto nella messa in scena e nella produzione.

Attualmente in scena su Heroku, stiamo ricevendo ActionView::Template::Error (active_admin.css isn't precompiled)error. Quindi precompiliamo le risorse localmente, trasferite al repository remoto prima della distribuzione a Heroku per risolverlo. Questa è stata la soluzione e la causa del problema.

La soluzione è data this link. L'abbiamo seguito e ora non abbiamo più bisogno di precompilare le risorse localmente e di conservarle in repo.

4

Basta pulire la cartella Assets:

rake assets:clean:all 

Perché accade questo?

Il menu a discesa di Bootstrap interrompe lo sviluppo solo perché le risorse vengono caricate due volte. Una volta nella forma "precompilata" e la seconda a causa del tuo ambiente di sviluppo. Ciò causa un conflitto e il menu a discesa non funziona più.

Ecco perché funziona su Heroku/Produzione normalmente, perché vengono caricati solo gli asset precompilati.

+0

Funziona come un fascino! Grazie – Neoecos

Problemi correlati