- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个 gem “CoreGem”和“AddonGem”。 Addon Gem 添加了将覆盖核心 gem 的额外功能。
我如何确保如果添加了第二个 gem,它将覆盖第一个的 View 和 Assets 。
到目前为止,它在添加到主应用程序时有效:
config.railties_order = [ :main_app, AddonGem::Engine, :all]
最佳答案
在哪里 railties_order
用来railties_order
在这里使用:
https://github.com/rails/rails/blob/master/railties/lib/rails/application.rb#L317
确定 initializer
的顺序 block 运行,
https://github.com/rails/rails/blob/master/railties/lib/rails/application.rb#L337
在其他 gem 中发现。
https://github.com/rails/rails/blob/master/railties/lib/rails/application.rb#L47
所以设置railties_order
在 initializer
内 block 将毫无意义,因为到 initializer
block 被调用,railties_order
已设置并由应用程序的其余部分使用。
你可以做什么
显然更多initializer
block 在 Rails::Application::Bootstrap
内.
https://github.com/rails/rails/blob/master/railties/lib/rails/application/bootstrap.rb
这些是在主应用程序的初始化程序 block 之前添加的:
https://github.com/rails/rails/blob/master/railties/lib/rails/application.rb#L262
所以也许你可以用一些初始化程序对 Bootstrap 模块进行猴子补丁?我想这是你的电话。
关于ruby-on-rails - 如何更改从其中一颗 gem 中加载 gem 的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18261116/
我是一名优秀的程序员,十分优秀!