現在、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%>
とすると以下のようになります。
データが取れてきていないということでしょうか??
あなたの回答
tips
プレビュー