Tôi đang cố gắng xây dựng một công cụ Rails "quản trị phụ trợ". Giả sử Engine có tài sản sau đây:Quá tải nội dung trên các công cụ Rails: yêu cầu tệp tài sản đá quý phụ không thành công
ENGINE/app/assets
├── javascripts
│ └── railsyard
│ ├── admin.js.coffee
│ ├── admin_customizations.js.coffee
...
Trường hợp admin.js.coffee
được yêu cầu admin_customizations.js.coffee
, có nghĩa là, một tập tin rỗng sẵn sàng để được ghi đè bởi các ứng dụng Rails lưu trữ.
[ENGINE/app/assets/javascripts/my_engine/admin.js.coffee]
#= require admin_customizations
# ...some code...
[ENGINE/app/assets/javascripts/my_engine/admin_customizations.js.coffee]
# Override this empty file to add custom JS behaviour!
Mọi thứ hoạt động tuyệt vời, cho đến khi tôi cố gắng để yêu cầu một số tài sản đến từ một viên ngọc thứ:
[APP/app/assets/javascripts/my_engine/admin_customizations.js.coffee]
#= require modernizr # this line gets ignored
alert "Foobar" # this line works
Các đá quý modernizr-rails
là một sự phụ thuộc của các ứng dụng lưu trữ thay vì sau đó động cơ. Xin lưu ý rằng nếu tôi cố gắng yêu cầu modernizr
từ tệp nội dung không ghi đè lên một số tệp nội dung động cơ, mọi thứ hoạt động trở lại.
Có cách nào để khắc phục tình huống này không?
Có lợi thế nào đối với tệp ghi đè không? Ý tôi là, dev chỉ có thể thêm js của riêng mình. – thomasfedb
có thể liên quan đến http://stackoverflow.com/questions/18261116/how-to-change-the-order-that-gems-are-loaded-from-within-one-of-the-gems – montrealmike