All threads / Architecture Question - Connecting google books API and voting on favorite book

Ask A Question


You’re not receiving notifications from this thread.

Architecture Question - Connecting google books API and voting on favorite book

Joel Tennant asked in Rails

Hey guys,

I am using the Google books API to pull books and show them on my site. This is working great. However, I want to be able to allow users to favorite books they want to remember and also upvote or downvote books. Normally this would be easy. But the problem is that the books are not in my database, they come from calls to the API.

The problem is, how do I link favorites or votes to a book if books onl come from the api? So I thought that I could implement a function in voting and favoriting that first checks to see if the book is in my database, if it isn't then it adds it immediately then adds the persons vote. This would allow me to only put books in the DB when someone does the first vote or first favorite. However, how do I implement that and is that the best course to take?

Thank you,

I would like to know how to do this as well. I would think that you can just take the data that is returned and run a create method on it to store it into the database. However, some kind of table should exists for that data.

I am also interested in solving the problem. Thank you for your inquiry. I recently finished reading Atlas Shrugged by Ayn Rand. Incredible book, I'm delighted.

And I'm reading Harry Potter and the Methods of Rationality (HPMOR) now. Is a Harry Potter fan fiction by Eliezer Yudkowsky.

Join the discussion

Want to stay up-to-date with Ruby on Rails?

Join 45,516+ developers who get early access to new tutorials, screencasts, articles, and more.

    We care about the protection of your data. Read our Privacy Policy.

    logo Created with Sketch.

    Ruby on Rails tutorials, guides, and screencasts for web developers learning Ruby, Rails, Javascript, Turbolinks, Stimulus.js, Vue.js, and more. Icons by Icons8

    © 2021 GoRails, LLC. All rights reserved.