Ruby on rails sidekiq和rails截断辅助对象
我在试着使用Sidekiq的内部。在Sidekiq之外,一切都很好,但在Sidekiq内部,当我尝试处理它给我的工作时:Ruby on rails sidekiq和rails截断辅助对象,ruby-on-rails,ruby,ruby-on-rails-4,sidekiq,truncate,Ruby On Rails,Ruby,Ruby On Rails 4,Sidekiq,Truncate,我在试着使用Sidekiq的内部。在Sidekiq之外,一切都很好,但在Sidekiq内部,当我尝试处理它给我的工作时: NoMethodError: undefined method `each_byte' for nil:NilClass 这是因为Sidekiq包含自己的截断方法: 问题是,与Rails助手相比,它太简单了,我需要能够截断单词而不是字符。因此,我试图明确地使用该方法: content = ActionView::Helpers::TextHelper.truncate(c
NoMethodError: undefined method `each_byte' for nil:NilClass
这是因为Sidekiq包含自己的截断方法:
问题是,与Rails助手相比,它太简单了,我需要能够截断单词而不是字符。因此,我试图明确地使用该方法:
content = ActionView::Helpers::TextHelper.truncate(content.gsub(/\n/, ''), :length => 126, :separator => ' ', :omission => '', :escape => false)
但这仍然给了我和以前一样的错误
此外,我还尝试将助手包括在类的顶部
include ActionView::Helpers::TextHelper
但这似乎没有什么区别。知道如何在Sidekiq中使用Rails截断方法吗
谢谢,只需通过GitHub上的链接打开源代码
def truncate(text, options = {}, &block)
if text
length = options.fetch(:length, 30)
content = text.truncate(length, options) // <--
content = options[:escape] == false ? content.html_safe : ERB::Util.html_escape(content)
content << capture(&block) if block_given? && text.length > length
content
end
end
def truncate(文本,选项={},&block)
如果文本
长度=选项。获取(:长度,30)
content=text.truncate(长度、选项)//