【发布时间】:2025-12-25 01:15:16
【问题描述】:
我正在尝试搜索给定 YouTube 视频的 cmets,以查看它是否包含特定字符串。
我使用 Yt gem 的 api 调用运行良好。但是,我很苦恼,因为 .all 和某些 SQL 查询无法正常工作,因为响应集合似乎是延迟加载的。
问题 -- 如何查询 CommentThreads 集合以查看其中的哪些项目包含特定字符串,例如“parts”?
以下是我尝试运行的一些表达式的控制台输出,包括 LIKE 查询:
@video_comments
=> #<Yt::Collections::CommentThreads:0x007fe626f70120>
@video_comments.all
=> NoMethodError: undefined method `all' for #<Yt::Collections::CommentThreads:0x007fe626f70120>
@video_comments.first.text_display
=> "Links for the parts in the description! <br /><br />What color do you want?"
@video_comments.first.text_display.include? "parts"
=> true
@video_comments.where('text_display LIKE ?', "%parts%").first
=> ArgumentError: wrong number of arguments (given 2, expected 0..1)
from /Users/macbook/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/yt-0.28.5/lib/yt/collections/base.rb:37:in `where'
Rails 5.0.1 + ruby 2.3.0p0 + psql (PostgreSQL) 9.6.1
编辑:实际@video_comments 响应http://imgur.com/bjkXWfO
【问题讨论】:
-
你试过
to_a而不是all吗?
标签: mysql sql ruby-on-rails postgresql youtube-api