像往常一样,我一直是个白痴,并在我的Mac上破坏了铁轨。我认为这一切都是在它说rake的版本不够新的时候开始的,所以我深入研究了不同宝石的巨大道路等等和不同版本的rails,我最终从github获得了rails,但它取代了最近的版本
现在我担心我的所有配置文件都不正确,但是当我尝试“rake rails:update”时,我得到以下错误并带有跟踪:
rake aborted!
undefined method `groups' for Rails:Module
/Users/jamielawrence/Documents/Websites/JaphexPortfolio/config/application.rb:8
/Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
/Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in `require'
/Users/jamielawrence/Documents/Websites/JaphexPortfolio/Rakefile:4
/Library/Ruby/Gems/1.8/gems/rake-0.9.2/lib/rake/rake_module.rb:25:in `load'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2/lib/rake/rake_module.rb:25:in `load_rakefile'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2/lib/rake/application.rb:495:in `raw_load_rakefile'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2/lib/rake/application.rb:78:in `load_rakefile'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2/lib/rake/application.rb:77:in `load_rakefile'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2/lib/rake/application.rb:61:in `run'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2/lib/rake/application.rb:59:in `run'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2/bin/rake:32
/usr/bin/rake:19:in `load'
/usr/bin/rake:19
今晚我已经足够了,我已经减少了一百万条路线(这一切都始于试图让认证加入工作)。
我想要做的就是将配置文件重置为原来的rails 3.0.9,我的gem文件来自:
gem'trail','3.0.9'
到
gem'rail',:git => 'git的://github.com/rails/rails.git'
回到
gem'trail','3.0.9'
......我是个白痴......但是一个头疼的白痴。
答案 0 :(得分:5)
我的错误: 我有同样的错误,你可以在这里看到:
$ rails c production
config/application.rb:7: undefined method `groups' for Rails:Module (NoMethodError)
from /usr/lib/ruby/gems/1.8/gems/railties-3.0.9/lib/rails/commands.rb:21:in `require'
from /usr/lib/ruby/gems/1.8/gems/railties-3.0.9/lib/rails/commands.rb:21
from script/rails:6:in `require'
from script/rails:6
在config/application.rb
文件中,我有以下几行:
if defined?(Bundler)
Bundler.require(*Rails.groups(:assets => %w(development test)))
end
然后我检查了另一个Rails 3应用程序,在这个应用程序中我再次检查了这个文件,它包含这些行:
Bundler.require(:default, Rails.env) if defined?(Bundler)
所以我替换这一行并且我工作。
我希望也是你的解决方案。
答案 1 :(得分:3)
问题是您的应用是使用rails 3.1或更高版本生成的。它试图调用不存在的“组”方法。如果你还没有走得太远,那就从头开始吧。否则,创建一个虚拟项目并比较config / application.rb文件。让它们匹配。
答案 2 :(得分:1)
阅读这篇文章:http://ryan.mcgeary.org/2011/02/09/vendor-everything-still-applies/
或
TLDR bundle install --path vendor
然后bundle --binstub
然后bin/rake whatever
哦,不要忘记你的app目录中的.rvmrc
答案 3 :(得分:0)
我想你已经找到了问题的答案?但是,通过在config / application.rb的顶部添加下面列出的源代码可能对您有帮助。
require 'rails/all'