0

我正在尝试将 twitter/bootstrap 集成到我的第一个 rails 应用程序中(按照这篇文章http://www.opinionatedprogrammer.com/2011/11/twitter-bootstrap-on-rails/),现在我收到了这个错误无法理解/解决。


    new-host:Talker Talker$ rails s
=> Booting Thin
=> Rails 3.2.3 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
Exiting
/Projects/Talker/config/environment.rb:4:in <top (required)>': undefined methodInitialize' for Rails:Module (NoMethodError)
    from /Projects/Talker/config.ru:4:in require'
    from /Projects/Talker/config.ru:4:inblock in '
    from /.rvm/gems/ruby-1.9.2-p318/gems/rack-1.4.1/lib/rack/builder.rb:51:in instance_eval'
    from /.rvm/gems/ruby-1.9.2-p318/gems/rack-1.4.1/lib/rack/builder.rb:51:ininitialize'
    from /Projects/Talker/config.ru:1:in new'
    from /Projects/Talker/config.ru:1:in'
    from /.rvm/gems/ruby-1.9.2-p318/gems/rack-1.4.1/lib/rack/builder.rb:40:in eval'
    from /.rvm/gems/ruby-1.9.2-p318/gems/rack-1.4.1/lib/rack/builder.rb:40:inparse_file'
    from /.rvm/gems/ruby-1.9.2-p318/gems/rack-1.4.1/lib/rack/server.rb:200:in app'
    from /.rvm/gems/ruby-1.9.2-p318/gems/railties-3.2.3/lib/rails/commands/server.rb:46:inapp'
    from /.rvm/gems/ruby-1.9.2-p318/gems/rack-1.4.1/lib/rack/server.rb:301:in wrapped_app'
    from /.rvm/gems/ruby-1.9.2-p318/gems/rack-1.4.1/lib/rack/server.rb:252:instart'
    from /.rvm/gems/ruby-1.9.2-p318/gems/railties-3.2.3/lib/rails/commands/server.rb:70:in start'
    from /.rvm/gems/ruby-1.9.2-p318/gems/railties-3.2.3/lib/rails/commands.rb:55:inblock in '
    from /.rvm/gems/ruby-1.9.2-p318/gems/railties-3.2.3/lib/rails/commands.rb:50:in tap'
    from /.rvm/gems/ruby-1.9.2-p318/gems/railties-3.2.3/lib/rails/commands.rb:50:in'
    from script/rails:6:in require'
    from script/rails:6:in'
这就是我的环境.rb 的样子

require File.expand_path('../application', FILE)
Rails.Initialize.run do |config|
config.gem 'mongo'
config.gem "mongo_mapper"
end
Talker::Application.initialize!

我对 Rails 很陌生,因此非常感谢任何帮助/指导!

4

2 回答 2

1

我认为您不需要在 Rails.Initialize 中指定 config.gem。在项目根目录下的 Gemfile 中指定 gems。您可以删除以上内容

gem "mongo"
gem "mongo_mapper"

然后使用 bundle install 安装 gems。现在你应该拥有宝石

请在删除 Rails.Initialize 块后尝试重新启动

于 2012-04-24T01:55:39.337 回答
1

遵循naren的指示时,您是否Rails.Initialize.run从文件中删除了该块environment.rb?我知道这可能听起来很傻:)

此外,从第二个错误中,我推测您可能正在使用 Mongo HQ,如果它托管在 Heroku 上,他们有一个非常详细的说明手册来配置您的数据库。Heroku MongoHQ 开发中心。在您的应用程序中检查两件事:

  1. MongoDB url(Mongo HQ 的 url)是否配置正确?这是因为,第二个错误表明链接本身可能存在问题。

  2. 较新版本的 rails(3 及更高版本)不允许config.gem环境块中的语法。相反,您需要在config/initializers. 有关Rails 3 的 MongoDB 文档部分的更多信息。

希望这可以帮助。

于 2012-04-24T15:36:25.940 回答