新人发帖,请多指教~~
rails_or 是我写的一个小工具,希望让大家在写 Rails 时能够更开心点。
大家可能知道,Rails 5 终于在 Active Record 内加上了 or 函式,
让你可以写以下的语句:
Person.where(name: 'Pearl').or(Person.where(age: 24))
但是每次 or 语句内都得重复写上Model.where(XXX)
,很繁琐。
假如你又要 join 其它 table 的资料时,又更繁琐了:
User.joins(:posts).where(id: 2)
.or(User.joins(:posts).where('posts.title = ?', "title"))
.or(User.joins(:posts).where('posts.created_at > ?', 1.day.ago))
rails_or 支援了更方便的语法,
同时也支援了 Rails 3, 4, 5,不必担心版本升级的问题,
也不必苦苦等待升到 Rails 5 的那天才能写 or 语句。
语法如下所示:
Person.where(name: 'Pearl').or(age: 24)
User.joins(:posts).where(id: 2)
.or('posts.title': "title")
.or('posts.created_at > ?', 1.day.ago)
代码都在 https://github.com/khiav223577/rails_or 上,
欢迎大家使用或提交 pull request,
喜欢的也可以顺便帮忙给颗星、推广一下呗。