如何在模型中的特定列中实现数据库表的值的循环?
给出一个模型Hub.rb,这是我的方法:
# Methods
def self.update_feed(feed_url)
feed = Feedzirra::Feed.fetch_and_parse(feed_url)
# Updates only the new articles from last run
updated_feed = Feedzirra::Feed.update(feed)
add_entries(updated_feed.new_entries) if updated_feed.updated?
end
然后我在我的数据库中有一个名为“feeds”的表,其中包含一个模式:id,name,description,url。
我想要做的是遍历feeds表中“url”字段中的每一行,并在Hub.rb模型中执行。它将是上面显示的函数的外包装,并将feed表中的feeds.url字段传递给Hub.rb方法中的“feed_url”参数。
这样的事情:
# Methods
def self.update_feed
loop do
feed_url = LOOP THROUGH URL COLUMN DATA
feed = Feedzirra::Feed.fetch_and_parse(feed_url)
# Updates only the new articles from last run
updated_feed = Feedzirra::Feed.update(feed)
add_entries(updated_feed.new_entries) if updated_feed.updated?
end
end
这样我就可以从终端调用Hub.update_feed,它将遍历我在feed表中列出的所有URL。
答案 0 :(得分:0)
怎么样:
Feed.where("url IS NOT NULL").each do |f|
Hub.update_feed(f.url)
end