Rake on Rails 3问题

时间:2010-09-23 21:15:26

标签: ruby-on-rails rake

我将Rails 2.3应用程序移动到Rails 3。 该应用程序实际上工作得很好,但我有rake任务的问题。 看起来环境文件中的配置未正确初始化。 我得到的错误是:

rake aborted!
undefined method `cache_classes=' for #<Hash:0x3c3e850>
/var/www/apps/nzar3/config/environments/development.rb:9
.....

环境文件很干净,而且很有效。 这里是环境/ development.rb

config.cache_classes = false
config.whiny_nils = true
config.action_controller.consider_all_requests_local = true
config.action_view.debug_rjs                         = true
config.action_controller.perform_caching             = false
config.active_support.deprecation = :log
config.action_dispatch.best_standards_support = :builtin

有任何线索吗?

5 个答案:

答案 0 :(得分:1)

Rails3使用不同的语法来配置您的应用程序。

YourApp::Application.configure do
  config.cache_classes = false
end

您是否通过运行rails /path/to/rails2/app

来迁移您的应用

阅读tips about upgrading to Rails 3这篇好文章。

答案 1 :(得分:1)

我也有这个问题,它与正在安装的cache_fu插件有关。删除cache_fu使问题消失。

答案 2 :(得分:0)

完整配置文件

App::Application.configure do
 config.cache_classes = false
 config.whiny_nils = true
 config.action_controller.consider_all_requests_local = true
 config.action_view.debug_rjs                         = true
 config.action_controller.perform_caching             = false
 config.active_support.deprecation = :log
 config.action_dispatch.best_standards_support = :builtin
end

答案 3 :(得分:0)

我发现只有这个使用ActionView的rake任务不起作用

namespace :cached_assets do
  desc "Regenerate aggregate/cached files"
  task :regenerate => :environment do
    include ActionView::Helpers::TagHelper
    include ActionView::Helpers::UrlHelper
    include ActionView::Helpers::AssetTagHelper
    stylesheet_link_tag :all, :cache => 'a'
    javascript_include_tag :defaults, :cache => 'b'
    javascript_include_tag "c.js", :cache => 'c'
  end
 end

答案 4 :(得分:0)

这对我有用:  评论这部分

config.action_view.debug_rjs   = true

来自environments/development.rb