有关多个where子句的查询的问题,Rails 3

时间:2011-05-22 01:16:07

标签: ruby-on-rails ruby-on-rails-3

我有一个名为Gym的课程

class Gym < ActiveRecord::Base
  has_many :gym_users
  has_many :users, :through => :gym_users

  validates :name, :address1, :city, :state, :zip, :phone, :website, :presence => true

  def has_admin_access?(user)
    user.present? && gym_users.where(:user_id => user.id, :gym_role_id => 3)
  end
end

我想修改has_admin_access方法以查找3或4的gym_role_id。另一个问题是我如何做小于或大于?

某处有在线备忘单吗?

1 个答案:

答案 0 :(得分:5)

试试这个

user.present? && gym_users.where(:user_id => user.id, :gym_role_id => [3, 4])

尝试使用MetaWhere gem来编写低于和高于查询的符号。可在http://railscasts.com/episodes/251-metawhere-metasearch

获取教程

从Rails 3.1开始,不支持MetaWhere。更新的替代方案是Squeel