我正在使用Rails 4.2.3。我创建了app / helpers / webpage_helper.rb
require "resolv-replace.rb"
require 'open-uri'
module WebpageHelper
def self.max_attempts
3
end
def get_url(url)
attempts = 0
begin
doc = Nokogiri::HTML(open(url))
rescue => e
puts "error: #{e.message}"
attempts = attempts + 1
if attempts <= max_attempts
retry
end
end
end
end
如何从另一个Rails服务(不是控制器)调用此辅助方法?我试过了
doc = WebpageHelper::get_url(url)
但是这会导致错误“未定义的方法`get_url&#39; for WebpageHelper:Module“。
答案 0 :(得分:0)
有两种方法可以做到这一点。要么包含WebpageHelper,要么只使用get_url
方法或将get_url
定义为模块函数。
module WebpageHelper
...
module_function :get_url
end
and then you can use this like
WebpageHelper.get_url