gpt4 book ai didi

ruby-on-rails - Rails TMDB API 浏览查找

转载 作者:行者123 更新时间:2023-11-29 11:50:24 25 4
gpt4 key购买 nike

TMDB.org最近对他们的 API 进行了更改,删除了浏览他们的数据库的功能。我的 Rails 应用程序曾经使用 tmdb-ruby gem浏览 TMDB 数据库,但此 gem 仅适用于 API 的 v2.0,现已失效。

TMDB.org 推荐using this gem ,并且由于它是从我之前使用的 gem 派生出来的,所以它使它更容易一些。

当 v2.0 仍然存在并且我可以使用浏览 功能时,我的 PostgreSQL 数据库已经填充了从 TMDB 导入的数据。

我现在如何使用查找功能(即:@movie = TmdbMovie.find(:title => "Iron Man", :limit => 1) )来查找随机电影,没有提供电影的标题。

This is my rake file它与旧的 gem 一起工作。

我想知道如何让它以相同的方式工作,但同时使用 find 而不是 browse.

谢谢

最佳答案

我不认为 find 是您获得想要的东西所需要的(获取数据库中最旧的电影并逐步找到最新的电影)。查看 TMDb API 文档,看起来他们现在有 discover这可能已经取代了您过去使用的 browse

我在 Irio 的 ruby​​-tmdb 分支中没有看到 discover 的任何地方,但看起来他们拥有的大多数特定方法(如 TmdbMovie.find )都调用了通用方法 Tmdb.api_call .

您应该能够使用泛型方法来执行如下操作:

api_return = Tmdb.api_call(
"discover/movie",
{
page: 1,
sort_by: 'release_date.asc',
query: '' # Necessary because Tmdb.api_call throws a nil error if you don't specify a query param value
},
"en"
)
results = api_return["results"]

results.flatten!(1)
results.uniq!
results.delete_if &:nil?

results.map!{|m| TmdbMovie.new(m, true)} # `true` tells TmdbMovie.new to expand results

如果可行,您甚至可以 fork Irio 的 fork,实现一个 TmdbMovie.discover 方法来支持所有选项并像 TmdbMovie.find 那样处理边缘情况,然后发送他们提出了一个拉取请求,因为看起来他们还没有开始实现这个,我相信其他人也想拥有这个方法:)

关于ruby-on-rails - Rails TMDB API 浏览查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19334731/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com