ruby 2.1.3
Rails 4.2.3
ローカルでのPCはmac
sakuraはVPSのcentos
nginx1.8.0
unicorn
プログラム初心者になります。
現在production環境でサイトの確認を行っているのですがエラーになります。
Logを確認しているのですが、何処らへんを確認すればよいのかご教授頂けると助かります。
production.log
D, [2015-10-08T01:33:07.503470 #30047] DEBUG -- : [1m[36mKeyword Load (0.3ms)[0m [1mSELECT `keywords`.* FROM `keywords` ORDER BY `keywords`.`id` DESC LIMIT 1[0m D, [2015-10-08T01:33:07.504637 #30047] DEBUG -- : [1m[35mKeyword Load (0.2ms)[0m SELECT `keywords`.* FROM `keywords` ORDER BY `keywords`.`id` DESC LIMIT 8 I, [2015-10-08T01:33:07.626371 #30047] INFO -- : Completed 500 Internal Server Error in 198ms (ActiveRecord: 7.2ms) F, [2015-10-08T01:33:07.631058 #30047] FATAL -- : NoMethodError (undefined method `[]' for nil:NilClass): app/controllers/keyword_controller.rb:11:in `create'
Completed 500 Internal Server ErrorでNoMethodError (undefined method []' for nil:NilClass): 場所はapp/controllers/keyword_controller.rb:11:in
create'
との事の様なのですが。。。
app/controllers/keyword_controller.rb
ここにはフォームからキーワードを受け取り保存してamazon apiを使ってサイトを表示させる処理をしています。
簡単に処理を書くと
Keyword.create(create_params) #keywordsのテーブルにキーワードを格納。 その後 @amazonjp = Amazon::Ecs.item_search(@keywords.keyword, #keywordsのキーワードからamazon apiを使って処理 :search_index => 'All', :response_group => 'Large', :country => 'jp')
↑productionのデータベースを確認するとkeywordsテーブルには問題なくキーワードが格納されています。
キーワードの取得でミスってるのかなーと考えたのですが、他のページでは格納したキーワードを表示させてい場所は問題なく表示がされています。
rails c -e production
で@keywords.keywordの確認を行いましたが、値は入っています。
deveropment環境では動きます。
deveropment.log procuctionログと同じ場所
[1m[35mKeyword Load (0.3ms)[0m SELECT `keywords`.* FROM `keywords` ORDER BY `keywords`.`id` DESC LIMIT 1 [1m[36mKeyword Load (0.9ms)[0m [1mSELECT `keywords`.* FROM `keywords` ORDER BY `keywords`.`id` DESC LIMIT 8[0m Rendered keyword/create.html.erb within layouts/application (65.7ms) Completed 200 OK in 7863ms (Views: 235.7ms | ActiveRecord: 15.2ms)
宜しくお願いします。
追加情報
@amazonjp = Amazon::Ecs.item_search(@keywords.keyword, #keywordsのキーワードからamazon apiを使って処理 :search_index => 'All', :response_group => 'Large', :country => 'jp')
上記のunicorn.logも確認し、amazonへのリクエストURLを確認しました。
リクエストURLを叩くと商品データは入っています。なのでamazonからはデータを取得しているのかと。
エラーの `[]' for nil:NilClassが何処なのか分からない。。。
宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。