大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – 查找属性存在的记录,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
用户名和电子邮件需要注册,但不是名字.
查询所有填写名称的用户(即不是零)的查询是什么?
该查询应该是Rails 3.2和4.0兼容.
我正在考虑以下几点:
User.where(name: present?)
present?
基本上不是零,不是空的?
class Object def present? !blank? end def blank? respond_to?(:empty?) ? !!empty? : !self end end
ActiveRecord条件
在Rails 4中,没有原始的sql代码就可以完成任务.
# Both lines lead to the same result: User.where.not(name: [nil,""]) User.where.not(name: nil).where.not(name: "")
因为没有原始的sql代码,所以不必担心如果它们与每个数据库适配器一起使用.实际上,这对mysql和POSTGRes都有效.
to_sql
如果您附加了.to_sql,例如在rails控制台中,您可以看到它们如何转换为sql查询.
# rails console User.where.not(name: [nil,""]).to_sql # => "SELECT \"users\".* FROM \"users\" WHERE (NOT ((\"users\".\"name\" = '' OR \"users\".\"name\" IS NULL)))" User.where.not(name: nil).where.not(name: "").to_sql # => "SELECT \"users\".* FROM \"users\" WHERE (\"users\".\"name\" IS NOT NULL) AND (\"users\".\"name\" != '')"
进一步阅读
> [1] Rails 4 guide “ActiveRecord Query Interface”
> [2] Definition of present?
on github
以上是大佬教程为你收集整理的ruby-on-rails – 查找属性存在的记录全部内容,希望文章能够帮你解决ruby-on-rails – 查找属性存在的记录所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。