在我的邀请函控制器中,我调用了模型中的方法:
if abc.nil?
generate_username
end
该方法包含在邀请模型文件中:
def generate_username
self.username = rand(10000000..99999999).to_s
while Invitation.where( "lower(username) = ?", username.downcase ).first
self.username = rand(10000000..99999999).to_s
end
end
在我的种子文件中,我有一行:
10.times do |n|
...
user = User.first
username = Invitation.generate_username
...
user.active_relationships.create!( ...,
username: username,
...)
end
播种后,我会看到username =
行的错误。有谁知道为什么会这样,我能做些什么呢?
NoMethodError: undefined method `generate_username' for #<Class:0x00000009a2ab80>
答案 0 :(得分:1)
你有一个实例方法,但是你试图在一个类上调用它。正确使用该方法。
10.times do |n|
...
user.generate_username
...
user.active_relationships.create!( ...,
username: user.username,
...)
end