나는 데이터베이스로 postresql을 사용하고 원하는 정보를 찾기 위해 'googlebooks'보석을 사용하여 sinatra에 라이브러리를 구축하고 있습니다.Google 북에서 정의되지 않은 메소드
이이 내 ERB 파일입니다
get '/list' do
@books = GoogleBooks.search(params[:title])
erb :list
end
get '/info/:isbn' do
#this is to get the info from my database if there is any
if book = Book.find_by(isbn: params[:isbn])
@book_title = book.title
@book_authors = book.author
@book_year = book.year
@book_page_count = book.page_count
@book_id = book.id
@book_isbn = book.isbn
else
#use the gem to look for the data
text = GoogleBooks.search(params[:isbn])
@book_title = text.title
@book_author = text.authors
@book_year = text.published_date
@book_cover = text.image_link(:zoom => 2)
@book_page_count = text.page_count
@book_notes = text.description
#and then store it into the database
book = Book.new
book.title = @book_title
book.authors = @book_authors
book.publish_date = @book_year
book.image_link = @book_cover
book.page_count = @book_page_count
book.description = @book_notes
book.isbn = params[:isbn]
book.save
@book_id = book.id
end
erb :info
end
main.rb 내 코드입니다 : 목록
<div class='list_by_title'>
<% @books.each do |text| %>
<ul>
<li class='list_by_title'>
<a href="/info/<%= text.isbn_10 %>"><%= text.title %> (Authour: <%= text.authors %>)</a>
</li>
</ul>
<%end%>
</div>
부분은 내가 목록 페이지를 가질 수 있어요 .. 작품 목록 가능성에 대한
NoMethodError at /info/0596554877
undefined method `title' for #<GoogleBooks::Response:0x007ff07a430e28>
어떤 생각 : 제목의 ... 문제는 내가 PARAMS의 ISBN에서 데이터를 호출 할 때, 난 항상이 오류가있다 해결책?
당신이 로그인 할 수 있습니다 쉽게 디버깅, 적절한 변수 이름을 선택할 수있게해야 할 좋은 이름이 아닙니다 API에서받은 JSON을 확인하고 잘못된 점을 확인하십시오. –