- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
背景
我有一个最近更新到 Rails 3.2.1(来自 Rails 3.0.x)的应用程序,并重构了 JS 和 CSS Assets 以利用新的 Assets 管道。该应用程序使用 Celadon Cedar 堆栈托管在 Heroku 上。
应用配置
我将特定于应用程序的配置保存在名为 app_config.yml 的 YAML 文件中,并使用初始化程序将其加载到全局 APP_CONFIG 变量中:
# config/initializers/load_app_config.rb
app_config_contents = YAML.load_file("#{Rails.root.to_s}/config/app_config.yml")
app_config_contents["default"] ||= {}
APP_CONFIG = app_config_contents["default"].merge(
app_config_contents[Rails.env] || {} ).symbolize_keys
rake assets:precompile
在服务器上作为部署过程中的一个步骤。但是,它在没有数据库访问或正常 ENV 变量的沙盒环境中执行此操作。
# Do not load entire app when precompiling assets
config.assets.initialize_on_precompile = false
initialize_on_precompile = false
已设置,
config/initializers/*
中没有任何初始化程序正在运行。我遇到的问题是我需要 APP_CONFIG 变量在 Assets 预编译期间可用。
load_app_config.rb
在 Assets 编译期间加载而不初始化整个应用程序?我可以用
group
做点什么吗?传递给 Rails::Application.initialize 的参数! ?
最佳答案
Rails 允许您仅在某些组中注册初始化程序,但您需要使用 Railtie API:
# in config/application.rb
module AssetsInitializers
class Railtie < Rails::Railtie
initializer "assets_initializers.initialize_rails",
:group => :assets do |app|
require "#{Rails.root}/config/initializers/load_config.rb"
end
end
end
initialize_on_precompile = false
. load_config.rb 初始化程序将在初始化应用程序时运行(因为它在
config/initializers
中)以及在没有初始化的情况下进行预编译(因为上面的代码)。
关于ruby-on-rails-3 - 执行 Rails Assets :precompile? 时如何运行一些初始化程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9235292/
这两个任务有什么区别? 最佳答案 # from assets.rake desc "Compile all the assets named in config.assets.precompile"
我必须创建一个 file.h 并将其放入我的 includes/目录。到了 GCC 的时候我遇到了一个问题: 我得到的错误是: error: invalid value 'precompiled-he
我们使用 Rails 3 作为我们的应用程序。使用 rake assets:precompile:all 编译 Assets 需要相当长的时间,但是使用 rake assets:precompile:
这两个任务有什么区别,为什么我需要在 cap deploy 时添加 RAILS_ENV=production? 谢谢! 最佳答案 您需要指定 RAILS_ENV=production 环境变量,以便在
在 Rails 中,如何通过 rake assets:precompile 输出为 Assets 管道编译的 Assets 列表? 最佳答案 这是 2 年后的事了,但我刚刚发现这个问题又问了一次并想通
我阅读了 MSDN 中的文档,但最后我并不清楚它们之间的实际区别是什么。两者似乎都需要在每个 *.cpp 文件的顶部添加 stdafx.h。 我正在使用 VS2008。 谁能帮忙解决问题? 最佳答案
预编译头到底是什么?它们什么时候使用? 最佳答案 预编译头是编译过程中使用的优化。 基本上,如果你编译类似 stdio.h 的东西使用完全相同的定义和环境,您可以放心地假设每次结果都相同。 因此,编译
根据 GAE 文档,您可以通过以下方式禁用预编译: false 但是文档中没有任何地方说明这样做的优点/缺点/注意事项是什么。任何经验丰富的 GAE 专家都可以权衡启用与禁用此功能时 GAE 应用程序
C:\Sites\dtr-payroll>rake assets:precompile rake aborted! You have already activated rake 10.0.4, bu
背景 我正在使用 StackExchange.Precompilation 在 C# 中实现面向方面的编程。 See my repository on GitHub. 基本思想是客户端代码将能够在成员
好的,当我尝试使用 Assets 管道时出现此错误。我不明白是什么原因造成的。 Sprockets::Helpers::RailsHelper::AssetPaths::AssetNotPrecomp
我在生产服务器上收到该错误,无法弄清原因。运行以下命令时会发生这种情况: bundle exec rake assets:precompile RAILS_ENV=production 我正在使用Ra
如果我们用Python编写一个函数,其执行依赖于已知的外部变量,Python每次仍然会检查它 我是说 def fun(): return 1 if False else 5 每次调用此函数时都
我在名为utypes.h的头文件中有一些有用的typedef。从那时起,我决定使用make,并且没有找到编译它的方法。 当我执行gcc -Wall -c utypes.h生成utypes的.o对象时,
我使用 luac 来编译我的 lua 代码。luac版本是5.2.2,我的应用原生lua是5.2.2。 我的lua代码 function hello() print("hello test l
所以我的代码运行良好(我使用的是 gulp 而不是 grunt 重要的是): var handlebars = require('handlebars'), rename = require(
我正在使用 StackExchange.Precompilation 在构建时执行一些 C# 语法转换。我希望能够在构建期间从我的 ICompileModule 中抛出异常,并将这些输出到 Visua
我正在尝试发布我的网络应用。 这是我的发布配置文件设置的图片: 如您所见,我选中了“发布期间预编译”选项。 这里是“Precompile during publish”的配置设置。 选中此选项并尝试发
我在我的 Rails 应用程序中使用 bootstrap-sass 和 twitter-bootstrap-rails。在我预编译我的 Assets 后,所有的按钮都变成了二维/平面,标签文本变成了粗
我尝试使用 在生产中预编译 Assets rake assets:precompile --trace RAILS_ENV=production 它说有像这样的语法错误 Sass::SyntaxErr
我是一名优秀的程序员,十分优秀!