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

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

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

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

API

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

Q&A

0回答

436閲覧

Rails HTTPartyを用いてTheMovieDBからデータを取り出す

Kassy11

総合スコア26

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

API

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

0グッド

0クリップ

投稿2019/05/26 04:55

編集2019/05/26 05:28

現在、Ruby on Railsで以下の記事を参考にして、gem 'httparty'を用いてthemoviesbから映画のデータを検索する機能を実装しています。

[Rails] 'HTTParty' gemによるAPIを簡単に利用できる方法

ですが、index.htmlにアクセスするときに
no implicit conversion of String into Integer
というエラー文が出てしまいます。

解決策がわからないので、教えていただけると幸いです。

moviecontroller

1class MoviesController < ApplicationController 2 def search 3 end 4 5 def index 6 @search_term = params[:search] 7 @movie_results = Movie.search(@search_term) 8 end 9 10 def show 11 @movie_info = Movie.details(params[:id]) 12 end 13 14end 15

movierb

1class Movie < ApplicationRecord 2 include HTTParty 3 # default_options.update(verify: false) # disable SSL verification(必要に応じて) 4 default_params api_key: '', language: 'ja-JP' #共通パラメタ 5 format :json 6 7 # キーワードによる検索機能 8 # https://developers.themoviedb.org/3/search/search-keywordsに参照 9 def self.search term 10 base_uri 'https://api.themoviedb.org/3/search/movie' 11 get("", query: { query: term }) # {}の中身はパラメタ 12 end 13 14 # 指定の映画の詳細情報を取得 15 # https://developers.themoviedb.org/3/movies/get-movie-detailsに参照 16 def self.details id 17 base_uri "https://api.themoviedb.org/3/movie/#{id}" 18 get("", query: { } ) #パラメタなし 19 end 20 21end 22

searchhtml

1<h3>作品名で検索</h3> 2 <%= form_tag(controller:"movies",action:"index") do %> 3 <%= text_field_tag :search %> 4 <%= submit_tag '検索',:name => nil %> 5 <% end %> 6

indexhtml

1<% @movie_results.each do |movie| %> 2 <%= movie['title']%> 3<% end %>

追記
index.htmlの<%=movie['title']%>を<%=movie%>
とすると以下のようになります。
データが取れてきていないということでしょうか??
index.html

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問