我对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
答案 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