undefined method `groups' for Rails:Module

匿名 (未验证) 提交于 2019-12-03 01:33:01

问题:

As usual I've been an idiot and broken rails on my mac somehow. I think it all started when it said the version of rake wasn't recent enough so I delved down a huge road of different gems etc. and different versions of rails, I ended up getting rails from github but it replaces it with the most recent version.

Now I fear all of my configuration files are incorrect, but when I try to 'rake rails:update' I get the following error with a trace:

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 

I've pretty much had enough tonight, I've been down a million routes (it all started with trying to get an authentication add on to work).

All i want to do is reset the config files to what they were originally for rails 3.0.9, my gem file went from:

gem 'rails', '3.0.9'

to

gem 'rails', :git => 'git://github.com/rails/rails.git'

back to

gem 'rails', '3.0.9'

...I'm an idiot...but an idiot with a huge headache.

回答1:

My error: I have the same error, as you can see here:

$ 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 

In config/application.rb file, I have these lines:

if defined?(Bundler)   Bundler.require(*Rails.groups(:assets => %w(development test))) end 

Then I checked another Rails 3 app, in this app I checked again this file and it contains these lines:

Bundler.require(:default, Rails.env) if defined?(Bundler) 

So I sustitute this line and I works.

I hope to be your solution too.



回答2:

The problem is that your app was generated with a version of rails 3.1 or higher. It's trying to call the "groups" method, which doesn't exist. If you haven't gotten too far, just start from scratch. Otherwise, create a dummy project and compare the config/application.rb files. Make them match.



回答3:

Read this article : http://ryan.mcgeary.org/2011/02/09/vendor-everything-still-applies/

or

TLDR bundle install --path vendor then bundle --binstubthen bin/rake whatever

oh and don't forget to the .rvmrc in your app directory



回答4:

i think you have already found an answer to your questions? however by adding the source code listed below at the top of config/application.rb might help you.

require 'rails/all' 


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!