全部都是头衔。
注意,这是关于模型或初始化器的更改的而不是。我可以删除控制器中的一个实例变量(比如@user),然后重新加载一个视图,直到我重新启动服务器,在这种情况下,它会抱怨变量为零。
我在正常工作,然后切换到一个完全不同的控制器和视图的集合上工作,现在它是没有任何理由发生的。
该应用程序处于开发环境中。
development.rb内容:
Dashboard::Application.configure do
config.cache_classes = false
config.whiny_nils = true
config.consider_all_requests_local = true
config.action_controller.perform_caching = false
config.action_mailer.raise_delivery_errors = false
config.active_support.deprecation = :log
config.action_dispatch.best_standards_support = :builtin
config.assets.compress = false
config.assets.debug = true
end我如何才能知道它是如何发生的,以及如何修复它?
编辑:**这可能是相关的,但我似乎不能使用在局部运行“rake路由”时存在的任何路径,例如dashboards_path**
图形扭曲:加法
config.reload_classes_only_on_change = false对development.rb来说,这一问题似乎得到了改善。我仍然想知道为什么会发生,为什么会突然发生,为什么会发生在一个控制器上,而不是另一个。
发布于 2013-02-06 11:13:34
Rails使用自动路径配置来确定要自动加载哪些文件,并重新加载:
module YourApp
class Application < Rails::Application
config.autoload_paths += %W( #{config.root}/lib #{config.root}/lib/**/ #{config.root}/app/traits )
...
end
end正如您所看到的,我已经添加了一个自定义目录,应用/特性目录,在这里我存储了一些定义共享行为的模块。
如果开始工作的控制器位于rails不监视的子目录中,或者具有阻止rails附加文件系统更改事件的权限,则会出现此问题。
config.reload_classes_only_on_change = false之所以“解决”这个问题,是因为整个应用程序会在每个请求上重新加载,而不是依赖于检测文件的更改。
很可能控制器不在监视文件列表中,这就是为什么rails没有在更改时重新加载它的原因。它不在列表上的确切原因可能会有所不同,我需要更多关于该应用程序的文件夹结构和配置的详细信息,然后我才能给出一个好的答案。
https://stackoverflow.com/questions/14296412
复制相似问题