【问题标题】:reload rails.root/app/resources/* per request根据请求重新加载 rails.root/app/resources/*
【发布时间】:2011-05-23 09:40:01
【问题描述】:

我有一个带有文件夹 rails.root/app/resources 的 rails 应用程序,我在其中保存了一些库代码。 此库代码用于我在 Rails 应用程序中安装在 routes.rb 中的 rack 应用程序

# rails.root/app/resources/file_resource.rb

# routes.rb
mount DAV4Rack::Handler.new(
  :root => Rails.root.to_s,
  :resource_class => FileResource
), :at => '/', :constraints => {:subdomain => "w"}

如何在开发中的每个请求上重新加载 FileResource?

我尝试了autoload_pathsreload_plugin,但似乎都不起作用。

我认为这与 routes.rb 中的代码有关。
如果我创建一个文件rails.root/app/resources/my_helper.rb 并在 FileResource 中使用 MyHelper.test(),则 MyHelper 会重新加载。

不,我不想将它移到“lib”文件夹中。

【问题讨论】:

  • 你为什么不想把它移到'lib'?
  • 我喜欢在应用程序中使用它的美感,因为它不是通用库代码,而是特定于应用程序的逻辑。

标签: ruby ruby-on-rails-3 reload rack


【解决方案1】:

我目前正在使用以下 hack,如果有人有更好的解决方案,请分享!

# config/environments/development.rb
root = config.root
config.to_prepare do
  load "#{root}/app/resources/file_resource.rb"
end

【讨论】:

    猜你喜欢
    • 2014-09-05
    • 2018-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-25
    • 1970-01-01
    • 2011-08-25
    相关资源
    最近更新 更多