· 7 years ago · Dec 26, 2017, 12:50 AM
1/Users/ihal/Desktop/GP_2011/gp_2011/config/initializers/omniauth.rb:3:in `block in <top (required)>': You have a nil object when you didn't expect it! (NoMethodError)
2You might have expected an instance of Array.
3The error occurred while evaluating nil.[]
4
5## initializers/load_config.rb
6
7raw_config = File.read(Rails.root.join('config','config.yml'))
8APP_CONFIG = YAML.load(raw_config)[Rails.env]
9
10
11## omniauth.rb
12
13
14Rails.application.config.middleware.use OmniAuth::Builder do
15 provider :twitter, APP_CONFIG[:twitter][:consumer_key], APP_CONFIG[:twitter][:consumer_secret]
16 Twitter.configure do |config|
17 config.consumer_key = APP_CONFIG[:twitter][:consumer_key]
18 config.consumer_secret = APP_CONFIG[:twitter][:consumer_secret]
19 config.oauth_token = APP_CONFIG[:twitter][:oauth_token]
20 config.oauth_token_secret = APP_CONFIG[:twitter][:oauth_token_secret]
21 end
22 provider :facebook, APP_CONFIG[:facebook][:app_id], APP_CONFIG[:facebook][:app_secret],
23 {:scope => 'publish_stream,offline_access,email'}
24 end
25
26
27
28
29## config.yml
30
31production:
32
33 :facebook:
34 :app_id: "XXXXXXXXXXXXXXXXX"
35 :app_secret: "XXXXXXXXXXXXXXXXX"
36
37
38 :twitter:
39 :consumer_key: "XXXXXXXXXXXXXXXXX"
40 :consumer_secret: "XXXXXXXXXXXXXXXXX"
41 :oauth_token: "XXXXXXXXXXXXXXXXX"
42 :oauth_token_secret: "XXXXXXXXXXXXXXXXX"
43
44
45development:
46
47 :facebook:
48 :app_id: "XXXXXXXXXXXXXXXXX"
49 :app_secret: "XXXXXXXXXXXXXXXXX"
50
51
52 :twitter:
53 :consumer_key: "XXXXXXXXXXXXXXXXX"
54 :consumer_secret: "XXXXXXXXXXXXXXXXX"
55 :oauth_token: "XXXXXXXXXXXXXXXXX"
56 :oauth_token_secret: "XXXXXXXXXXXXXXXXX"