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

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

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

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

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

1回答

606閲覧

Ruby 配列の添字に変数を入れたい

Kassy11

総合スコア26

Ruby

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

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

2クリップ

投稿2019/06/03 04:25

編集2019/06/03 05:01

現在Ruby on Railsで検索フォームん入力された情報をもとに、Google books apiから検索結果を表示する機能を実装しています。

まず、以下のようにして検索フォームでのパラメータparams[:search]をもとに、Google books apiから書籍データを取得します

bookscontroller

1def index 2 url = 'https://www.googleapis.com/books/v1/volumes?q=' 3 request = url + params[:search] 4 enc_str = URI.encode(request) 5 uri = URI.parse(enc_str) 6 json = Net::HTTP.get(uri) 7 @books = JSON.parse(json) 8 puts @books 9 end

そして、以下のように2番目の添字に変数を代入して検索結果を一覧表示させいのですが、うまくいきません。(for文を使わずに普通に整数を入れるとここの書籍名が表示できます。)

<div class="search-results col-md-8"> <%for i in 1..5 do%> <%=@books["items"][i]["volumeInfo"]["title"]%> <%end%> </div>

またAPIから取得できるデータは以下の通りです(書籍名がハリーポッターの場合)
APIから取得できるjsonデータ

解決策がわからないので、どなたか分かる方がいればよろしくおねがいします。
また、他に実装法が分かる方がいれば教えていただきたいです。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2019/06/03 05:18

> うまくいきません どのような結果を期待して、どのような結果が実際に出力されたのですか。 > for文を使わずに普通に整数を入れるとここの書籍名が表示できます 「普通に」とはなにが普通なのでしょう。 「ここの書籍名」の「ここ」とは何でしょう。
guest

回答1

0

ベストアンサー

RubyでもJavaScript(JSON)でも、配列の添字は0オリジンです。

for i in 1..5とすると、0番目が参照されない、逆に5つしかない場合[5]nilになってしまう、などの問題があります。

投稿2019/06/03 05:19

maisumakun

総合スコア145184

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

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

Kassy11

2019/06/03 05:34

ありがとうございます! 無事に書籍名を出力できました。 基本的なところでミスをしていましたね…
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問