7

Sau RAILS_ENV=production bundle exec rake assets:precompile số dropdown không phản hồi trong môi trường phát triển. Không có gì xảy ra khi nhấp vào nút. Tuy nhiên việc xóa mọi thứ khỏi public/assets sẽ bắt đầu hoạt động. Ngoài ra, nó hoạt động hoàn hảo ở chế độ sản xuất (rails s -e production)Twitter Bootstrap Dropdown bị hỏng sau khi phần tử biên dịch trước

Ứng dụng này sử dụng twitter bootstrapactive admin. Có vẻ như có gì đó đang nhận được conflicted.

Lưu ý ở đây nó hoạt động tốt trong dàn trên Heroku

Dưới đây là một cái búng html tạo

<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> 

ứng dụng/tài sản/stylesheets/application.css.scss

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

ứng dụng/asset/javascripts/application.js

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

Thực tiễn là gì để biên dịch trước nội dung?

Trả lời

0

Khi tôi biết rằng thông thường bạn không cần phải biên dịch trước nội dung cục bộ. Nó thường được thực hiện trong dàn dựng và sản xuất.

Thực ra trong dàn dựng trên Heroku, chúng tôi đang nhận được ActionView::Template::Error (active_admin.css isn't precompiled)error. Vì vậy, chúng tôi biên dịch trước các tài sản cục bộ, đẩy đến repo từ xa trước khi triển khai cho Heroku để khắc phục nó. Đây là giải pháp và nguyên nhân của vấn đề.

Giải pháp được cung cấp this link. Chúng tôi đã theo dõi nó và bây giờ chúng tôi không còn cần phải biên dịch trước tài sản tại địa phương và giữ trong repo.

4

Đơn giản chỉ cần làm sạch thư mục nội dung của bạn:

rake assets:clean:all 

Tại sao điều này xảy ra?

Trình đơn thả xuống của trình khởi động chỉ dừng lại khi phát triển vì nội dung của bạn đang được tải hai lần. Khi ở dạng "biên dịch trước" và thứ hai vì môi trường phát triển của bạn. Điều này gây ra xung đột và trình đơn thả xuống không hoạt động nữa.

Đó là lý do tại sao nó hoạt động trên Heroku/Sản xuất bình thường, bởi vì chỉ có các tài sản biên dịch sẵn được tải.

+0

Hoạt động như một sự quyến rũ! Cảm ơn bạn – Neoecos

Các vấn đề liên quan