前提・実現したいこと
現在勉強のために、cloud9で楽天APIを使用して、楽天から商品を検索する機能を作成してみました。
しかし、検索してみると、以下のようなエラーメッセージが発生しました。
初学者のため至らぬ点もあると思いますが、よろしくお願い致します。
発生している問題・エラーメッセージ
RakutenWebService::WrongParameter in Goods#search Showing /home/ec2-user/environment/rakutensearch/app/views/goods/_good_list.html.erb where line #2 raised: keyword is not valid <% if @goods.present? %> <% @goods.each do |good| %> ←ここでエラー <div class="list"> <% if good.image_url %> <%= link_to (image_tag(good.image_url, style: "width: 70px;height: 100px;display: inline-block;")), good.url %> <% end %>
該当のソースコード
Ruby
1###goods_controller.rb 2class GoodsController < ApplicationController 3 def search 4 if params[:keyword] 5 @goods = RakutenWebService::Ichiba::Item.search(keyword: params[:keyword]) 6 7 end 8 end 9end 10
Ruby
1###search.html.erb 2<h1>Rakuten search</h1> 3<div class='content'> 4 <div id="search-box"> 5 <%= form_tag('/', method: :get) do %> 6 <%= text_field_tag :good, "", id: "good_search", name: "keyword", placeholder: "キーワードを打ち込んでください", style: "width: 200px; "%><button title="検索" type="submit">検索</button> 7 <% end %> 8 </div> 9 <h2>検索結果</h2> 10 <div id='good_list'> 11 <%= render partial: 'good_list' %> 12 </div> 13</div>
Ruby
1###_good_list.html.erb 2<% if @goods.present? %> 3 <% @goods.each do |good| %> 4 <div class="list"> 5 <% if good.image_url %> 6 <%= link_to (image_tag(good.image_url, style: "width: 70px;height: 100px;display: inline-block;")), good.url %> 7 <% end %> 8 9 <%= good.title %> 10 </div> 11 <% end %> 12<% end %>
Ruby
1###search.html.erb 2RakutenWebService.configure do |c| 3 c.application_id = ENV["APPLICATION_ID"] 4 # c.affiliate = ENV["AFFILIATE_ID"] 5 # 環境変数を使用 6end
試したこと
参考サイトではcontroller内で@itemsとなっていたのですが、
viewで使用している変数が@goodsだったのでそちらに変更しています。
###参考サイト
https://freesworder.net/rakuten-api-rails/
[【Rails基礎】楽天APIで商品検索アプリを作ってみた]
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。