Ruby on rails Rails3和液体初始化错误

Ruby on rails Rails3和液体初始化错误,ruby-on-rails,ruby-on-rails-3,liquid,Ruby On Rails,Ruby On Rails 3,Liquid,嗨,我有一个Rails 3应用程序,带有用于模板的gem Liquid。问题是我的自定义标记出现了这个错误。我将使用wiki的例子 在my/lib/I中,我为自定义标记创建了一个random.rb class Random < Liquid::Tag def initialize(tag_name, max, tokens) super @max = max.to_i end def render(context) rand(@max)

嗨,我有一个Rails 3应用程序,带有用于模板的gem Liquid。问题是我的自定义标记出现了这个错误。我将使用wiki的例子

在my/lib/I中,我为自定义标记创建了一个random.rb

 class Random < Liquid::Tag

   def initialize(tag_name, max, tokens)
     super
     @max = max.to_i
   end

   def render(context)
     rand(@max).to_s
   end
end
在控制台中

@template = Liquid::Template.parse("{% random 5 %}")
我得到了这个错误:

ArgumentError: wrong number of arguments (3 for 0..1)
from /Users/Artau/.rvm/gems/ruby-1.9.3-p385/gems/liquid-2.5.0/lib/liquid/block.rb:28:in `initialize'
from /Users/Artau/.rvm/gems/ruby-1.9.3-p385/gems/liquid-2.5.0/lib/liquid/block.rb:28:in `new'
from /Users/Artau/.rvm/gems/ruby-1.9.3-p385/gems/liquid-2.5.0/lib/liquid/block.rb:28:in `parse'
from /Users/Artau/.rvm/gems/ruby-1.9.3-p385/gems/liquid-2.5.0/lib/liquid/document.rb:5:in `initialize'
from /Users/Artau/.rvm/gems/ruby-1.9.3-p385/gems/liquid-2.5.0/lib/liquid/template.rb:58:in `new'
from /Users/Artau/.rvm/gems/ruby-1.9.3-p385/gems/liquid-2.5.0/lib/liquid/template.rb:58:in `parse'
from /Users/Artau/.rvm/gems/ruby-1.9.3-p385/gems/liquid-2.5.0/lib/liquid/template.rb:46:in `parse'
from (irb):14
from /Users/Artau/.rvm/gems/ruby-1.9.3-p385/gems/railties-3.2.13/lib/rails/commands/console.rb:47:in `start'
from /Users/Artau/.rvm/gems/ruby-1.9.3-p385/gems/railties-3.2.13/lib/rails/commands/console.rb:8:in `start'
from /Users/Artau/.rvm/gems/ruby-1.9.3-p385/gems/railties-3.2.13/lib/rails/commands.rb:41:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
有什么想法吗

谢谢


我在Rails 3.2.13中尝试重命名你的类,因为在标准ruby库中已经有一个名为Random的类。

尝试重命名你的类,因为在标准ruby库中已经有一个名为Random的类。

尝试重命名你的类,因为在标准ruby库中已经有一个名为RandomThank you Rodrigo的类,这就是问题所在。它正在工作。请尝试重命名您的类,因为在标准ruby库中已经有一个名为Randomy的类。谢谢Rodrigo,这就是问题所在。它正在工作。
ArgumentError: wrong number of arguments (3 for 0..1)
from /Users/Artau/.rvm/gems/ruby-1.9.3-p385/gems/liquid-2.5.0/lib/liquid/block.rb:28:in `initialize'
from /Users/Artau/.rvm/gems/ruby-1.9.3-p385/gems/liquid-2.5.0/lib/liquid/block.rb:28:in `new'
from /Users/Artau/.rvm/gems/ruby-1.9.3-p385/gems/liquid-2.5.0/lib/liquid/block.rb:28:in `parse'
from /Users/Artau/.rvm/gems/ruby-1.9.3-p385/gems/liquid-2.5.0/lib/liquid/document.rb:5:in `initialize'
from /Users/Artau/.rvm/gems/ruby-1.9.3-p385/gems/liquid-2.5.0/lib/liquid/template.rb:58:in `new'
from /Users/Artau/.rvm/gems/ruby-1.9.3-p385/gems/liquid-2.5.0/lib/liquid/template.rb:58:in `parse'
from /Users/Artau/.rvm/gems/ruby-1.9.3-p385/gems/liquid-2.5.0/lib/liquid/template.rb:46:in `parse'
from (irb):14
from /Users/Artau/.rvm/gems/ruby-1.9.3-p385/gems/railties-3.2.13/lib/rails/commands/console.rb:47:in `start'
from /Users/Artau/.rvm/gems/ruby-1.9.3-p385/gems/railties-3.2.13/lib/rails/commands/console.rb:8:in `start'
from /Users/Artau/.rvm/gems/ruby-1.9.3-p385/gems/railties-3.2.13/lib/rails/commands.rb:41:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
 1.9.3-p385 :004 > @template = Liquid::Template.parse("{{random 5}}")
 => #<Liquid::Template:0x007fa36b554108 @root=#<Liquid::Document:0x007fa36b553de8 @nodelist=[#<Liquid::Variable:0x007fa36b5536e0 @markup="random 5", @name="random", @filters=[]>]>> 
 1.9.3-p385 :005 > @template.render
 => ""