Ruby on rails 为什么我的函数给我错误的参数错误(0代表1)和(1代表0)
我在randomgenerator.rb文件中创建了函数“generate_verse”,以从另一个模型的数据库(在本例中为Movie)生成记录:Ruby on rails 为什么我的函数给我错误的参数错误(0代表1)和(1代表0),ruby-on-rails,Ruby On Rails,我在randomgenerator.rb文件中创建了函数“generate_verse”,以从另一个模型的数据库(在本例中为Movie)生成记录: 它告诉我我给了函数一个错误的参数数(0代表1)。但是,当我添加参数(1)以查看它会做什么时,它说我再次给函数提供了错误数量的参数(1代表0)。我做错了什么?设计此函数有什么建议吗?您没有向where传递任何参数,因此我怀疑这就是问题所在。您只提供了一个块,它不影响参数计数 如果您可以提供stacktrace,我们将有更好的机会确定问题。我可以提供st
它告诉我我给了函数一个错误的参数数(0代表1)。但是,当我添加参数(1)以查看它会做什么时,它说我再次给函数提供了错误数量的参数(1代表0)。我做错了什么?设计此函数有什么建议吗?您没有向
where
传递任何参数,因此我怀疑这就是问题所在。您只提供了一个块,它不影响参数计数
如果您可以提供stacktrace,我们将有更好的机会确定问题。我可以提供stacktrace,但它很长。我应该只提供前半部分吗?对于初学者,您可以停在您编写的任何代码行(与Ruby或Rails代码相反),我用括号替换了花括号,这就解决了这个问题。看起来where函数不是我想要的最好的方法,所以我使用select。感谢您的帮助。请以正确的方式使用
where
,或者尝试使用挤压
。
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
%h2 #{@randomgenerator.title}
%ul#details
%li
Verse:
= @randomgenerator.generate_verse()