所以我有一些代码可以重写paperclip文件路径,这样项目中的每个开发人员都可以拥有自己上传的路径,而不会互相破坏,但这是在开发中运行的
ActiveSupport.on_load(:after_initialize) do
环。这意味着它只在初始化时加载。问题是我们正在使用Active Reload gem(rails 3.1所以没关系),所以一旦有人编辑了模型,就会重新加载它并使用旧的回形针路径。
我想知道如何在每次重新加载特定模型时运行此代码?
答案 0 :(得分:1)
您可以将其打包在config.to_prepare
内的config/application.rb
块中:
config.to_prepare do
# your code
end
这将在开发中的每个请求上重新加载,但只在生产中重新加载一次。
答案 1 :(得分:0)
所以我上面尝试了Ryan的建议,但就像我想的那样,它会在每个页面加载时运行我的代码......没有布埃诺。
我最近做的是使用由Active Reloader提供给你的这段代码,但我怀疑它是否适用于Rails 3.2
ActiveSupport::Notifications.subscribe("active_support.dependencies.clear") do |*args|
my_code_block
end
它起了作用,我仍然需要保留原来的
ActiveSupport.on_load(:after_initialize) do
阻止那里,所以它有点难看,但它有效!
如果存在更清洁的解决方案,仍然坚持。