为什么我的函数给出错误的参数错误(0表示1),(1表示0)

时间:2013-12-18 21:37:59

标签: ruby-on-rails

我在randomgenerator.rb文件中创建了函数“generate_verse”,以便从另一个Model的数据库(在本例中为Movie)生成一条记录:

class Randomgenerator < ActiveRecord::Base

  attr_accessor :title, :query

    def generate_verse
      table = Movie.where{self.query.include?(:rating) == true}
      verse = table[0]
      return verse
    end

end

当我尝试在show视图中运行它时:

%h2 #{@randomgenerator.title}

%ul#details
  %li
    Verse:
    = @randomgenerator.generate_verse()

它告诉我我给函数提供了错误数量的参数(0表示1)。但是,当我添加参数(1)以查看它会做什么时,它说我再次给函数提供了错误数量的参数(1表示0)。我在这做错了什么?有关设计此功能的建议吗?

1 个答案:

答案 0 :(得分:1)

你没有将任何参数传递给where,所以我怀疑这是问题所在。您只提供一个块,这对参数计数没有贡献。

如果您能提供堆栈跟踪,我们可以更好地识别问题。