ruby-on-rails - ruby 方法中的返回值

标签 ruby-on-rails ruby methods

我有这个方法:

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/

相关文章:

python - 在定义的类中使用方法

iPhone NSURLConnection : connectionDidFinishLoading - how to return a string to the calling method

ruby - 没有 config.ru 的启动 Rack 服务器?

c++ - 如何防止为未实现方法的对象生成模板

ruby-on-rails - 有人有 Rails (2.3.8) RJS Api 的链接吗?

ruby-on-rails - Rails 从哪里获取它们的 DateTime.now?

ruby-on-rails - rails 表单动态添加字段

mysql - 尝试更改迁移文件中数据库条目的更改大小写时出现“尝试调用私有(private)方法”错误

ruby-on-rails - 如何在调用 to_json 保留 :includes 时应用 WHERE 过滤器

ruby-on-rails - Rubocop JSON : Align the parameters of a method call if they span more than one line