从Rake文件中的任务调用方法

可以调用与任务相同的rake文件中的方法吗? 在下面的代码中,您可以看到我有方法调用get_search_url,它将被分配给url。

namespace :populate do desc "ETC" task :db => :environment do Report.where(link: "").each do |word| url = get_search_url(word.name) doc = Nokogiri::HTML(open(url)) word.update_columns(link: link) end end def get_search_url(keyword) return "URL/keyword" end end 

是的,这绝对是可能的。 只需在命名空间后定义那些方法;)

 namespace :populate do desc "ETC" task :db => :environment do Report.where(link: "").each do |word| url = get_search_url(word.name) doc = Nokogiri::HTML(open(url)) word.update_columns(link: link) end end end def get_search_url(keyword) return "URL/keyword" end