我有这个方法:
def validates_image_dependents
post = self.find(params[:id])
i=0
for this_post in Post.all
if this_post.posted_filename == post.post_filename
i+=1
end
end
return i > 1
end
如果 i > 1,我希望该方法返回 true 或 false 依赖项,但我得到的是 nil。
我做错了什么?
没有方法工作正常。
谢谢
最佳答案
看起来您在 irb 输出中看到 nil
结果如下:
irb(main):018:0> def validates_image_dependents
irb(main):019:1> post = self.find(params[:id])
irb(main):020:1> i=0
irb(main):021:1> for this_post in Post.all
irb(main):022:2> if this_post.posted_filename == post.post_filename
irb(main):023:3> i+=1
irb(main):024:3> end
irb(main):025:2> end
irb(main):026:1> return i > 1
irb(main):027:1> end
=> nil
发生这种情况是因为您定义了方法 validates_image_dependents
并且方法表达式的定义返回了nil
。
您需要执行您的方法以获得实际结果:
irb(main):028:0> validates_image_dependents
=> true
关于ruby-on-rails - ruby 方法中的返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9208771/