質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

検索

検索は、あるデータの集まりの中から 目的のデータを見つけ出すことです。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

2回答

1936閲覧

楽天APIで検索結果を表示させたいです

yasucamp80

総合スコア2

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

検索

検索は、あるデータの集まりの中から 目的のデータを見つけ出すことです。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2020/08/21 09:02

習作で楽天商品検索API (version:2017-07-06)を用いて
商品検索アプリを作っております。

検索ボタンを押しても反応がなく、エラーも出てこないため
どこが悪さをしているのかが分からず、つまづいております。

どうか、アドバイスをいただきたく、よろしくお願いいたします。

下記コーディングするまでに行ったことです。
1.楽天APIを利用するため、アプリ登録し、アプリIDを取得
2.空のデータベースを作成し、rails db:migrate済み
3.コントローラーを作成
4.Gemfileにgem 'rakuten_web_service'を記述し、bundle install済み

下記記述内容です。

ruby

1config > initializers > rakuten.rb 2 3RakutenWebService.configuration do |c| 4 c.application_id = '****************' #取得したアプリIDを記述 5end

ruby

1config > routes.rb 2 3Rails.application.routes.draw do 4 root to: 'goods#search' 5end

ruby

1app > controllers > goods_controller.rb 2 3class GoodsController < ApplicationController 4 def search 5 if params[:keyword] 6 @items = RakutenWebService::Ichiba::Item.search(keyword: params[:keyword]) 7 8 end 9 end 10end

ruby

1app > views > goods > search.html.erb 2 3 <h1>Searchraku</h1> 4<div class='content'> 5 <div id="search-box"> 6 <%= form_tag('/', method: :get) do %> 7 <%= text_field_tag :good, "", id: "good_search", name: "keyword", placeholder: "キーワードを打ち込んでください", style: "width: 200px;"%><button title="検索" type="submit">検索</button> 8 <% end %> 9 </div> 10 <h2>検索結果</h2> 11 <div id='good_list'> 12 <%= render partial: 'good_list' %> 13 </div> 14</div>

ruby

1app > views > goods >_good_list.html.erb 2 3<% if @goods.present? %> 4 <% @goods.each do |good| %> 5 <div class="list"> 6 <% if good.image_url %> 7 <%= link_to (image_tag(good.image_url, style: "width: 70px;height: 100px;display: inline-block;")), good.url %> 8 <%end%> 9 <div class= "item-title"> 10 <%= item.name %> 11 <%= item.url %> 12 <%= item["mediumImageUrls"][0] %> 13 </div> 14 <%= good.title %> 15 </div> 16 <% end %> 17<% end %>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

GoodsController

ruby

1 @items = RakutenWebService::Ichiba::Item.search(keyword: params[:keyword])

これは

ruby

1 @goods = RakutenWebService::Ichiba::Item.search(keyword: params[:keyword])

ではないでしょうか。
_good_list.html.erb 中で検索結果を表示しようと@goodsを扱っていますが、そこに検索結果が代入されていないことが原因かと思います。

投稿2020/09/22 02:33

satoryu

総合スコア47

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

searchアクションで@itemsに検索結果を格納した後はどうするのでしょうか?
その後の処理がないだけでちゃんと結果が返ってきてる可能性があります。
Rails.logger.warn(@items)をsearchアクションの最後に入れ、ログで@itemsに何が入っているのかを確認してみてください!

投稿2020/08/28 14:23

tenten11055

総合スコア67

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yasucamp80

2020/08/28 23:49

tenten11055さん、ありがとうございます! 確認します!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問