Rails Devise生成错误

时间:2012-06-10 05:35:32

标签: ruby-on-rails devise rails-generate

我对rails非常陌生,我正在尝试设置devise和omniauth以允许用户使用Facebook API登录我的网站。我正在使用本教程http://www.ruby-on-rails-outsourcing.com/articles/2012/01/20/adding-facebook-auth-to-rails-3-1-app/来执行此操作。但是,当我尝试运行rails generate devise User时,我收到此错误:undefined local variable or method config for main:Object (NameError)。我该如何解决这个问题?

devise.rb文件:

Devise.setup do |config|
  config.mailer_sender = "please-change-me-at-config-initializers-devise@example.com" 
  require 'devise/orm/active_record'
  config.case_insensitive_keys = [ :email ]
  config.strip_whitespace_keys = [ :email ]
  config.skip_session_storage = [:http_auth]
  config.stretches = Rails.env.test? ? 1 : 10
  config.reconfirmable = true
  config.reset_password_within = 6.hours
  config.sign_out_via = :delete

development.rb:

*******::Application.configure do
  config.action_mailer.default_url_options = { :host => 'localhost:3000' }
  config.cache_classes = false
  config.whiny_nils = true
  config.consider_all_requests_local       = true
  config.action_controller.perform_caching = false
  config.action_mailer.raise_delivery_errors = false
  config.active_support.deprecation = :log
  config.action_dispatch.best_standards_support = :builtin
  config.active_record.mass_assignment_sanitizer = :strict
  config.active_record.auto_explain_threshold_in_seconds = 0.5
  config.assets.compress = false
  config.assets.debug = true
end

1 个答案:

答案 0 :(得分:1)

我遇到了完全相同的问题。评论中的阿巴斯帮助我走上正轨!

我已将config.assets.initialize_on_precompile = false放在Module ApplicationName文件夹的config/Application.rb块之外。我把那个配置行放在Module块中,一切都开始运行了!

module VitogoWeb2
  class Application < Rails::Application

    # A devise setting to prevent Heroku from accessing the DB or load models when precompiling the assets.
    config.assets.initialize_on_precompile = false

  end
end