我刚刚创建了一个新的rails应用程序(在CL上,使用rails new),我在4.2.6,但似乎在我可以对应用程序执行任何操作之前我遇到了错误。
...第一
/config/environments/development.rb:53:in `block in <top (required)>':
uninitialized constant ActiveSupport::EventedFileUpdateChecker (NameError)
然后,一旦我发表评论......
/config/initializers/new_framework_defaults.rb:15:in `<top (required)>':
undefined method `to_time_preserves_timezone=' for ActiveSupport:Module (NoMethodError)
一旦被注释掉......
/config/initializers/new_framework_defaults.rb:21:in `<top (required)>':
undefined method `halt_callback_chains_on_return_false=' for ActiveSupport:Module (NoMethodError)
最后......
.gem/ruby/2.2.3/gems/actionmailer-4.2.5/lib/action_mailer/base.rb:569:in `method_missing':
undefined method `perform_caching=' for ActionMailer::Base:Class (NoMethodError)
我可以在谷歌上发现的一切表明这些是与Rails 5相关的东西。我不确定如何绕过它们,或者如何创建仍然特定于4.2.6的应用程序。
答案 0 :(得分:5)
如果您仍想使用Rails 5注释development.rb文件中的以下行: config.action_mailer.perform_caching = false
这样做之后你可能会得到:
ActionView :: Template ::错误(无法找到文件&#39; ation_cable&#39;类型&#39; application / javascript&#39;
然后在您的cable.js文件中删除=来自// = require action_cable。
答案 1 :(得分:2)
详细说明Peter的答案:通常会出现此错误,因为您安装的Rails版本比.railsrc
或template.rb
中要求的版本更新。
如果是这种情况,当您运行rails new my_new_app
时,默认情况下会使用最新版本来处理该过程的早期步骤,但是一旦安装了模板/ railsrc版本,后面的步骤就会使用此版本。这会导致兼容性问题。
您可以通过将rails -v
(在您调用rails new
的目录中)的输出与.railsrc
或{{{{}}中的内容进行比较来验证这是您的问题。 1}}。如果它们不同,可以轻松解决:
重新创建您的Rails应用,在命令行调用中从template.rb
或.railsrc
指定相同的Rails版本:
template.rb