undefined method `length' for Enumerable

如果你的环境是ruby1.8.7、rails2.0.2,你使用truncate时,可能会遇到undefined method `length' for Enumerable的错误。

 

为了解决这个问题,你可以将以下代码写在任意一个启动服务时可以加载的文件中。

 

module ActionView
  module Helpers
    module TextHelper
      def truncate(text, length = 30, truncate_string = "...")
        if text.nil? then return end
        l = length - truncate_string.chars.to_a.size
        (text.chars.to_a.size > length ? text.chars.to_a[0...l].join + truncate_string : text).to_s
      end
    end
  end
end

   

或者,你也可以把rails的版本升级到2.2.X也行。

你可能感兴趣的:(Rails)