Ruby on rails Rails中的Postgresql交叉数据库引用
我正在搜索,但遇到了一个跨数据库引用错误Ruby on rails Rails中的Postgresql交叉数据库引用,ruby-on-rails,activerecord,ruby-on-rails-4,Ruby On Rails,Activerecord,Ruby On Rails 4,我正在搜索,但遇到了一个跨数据库引用错误 activities = Activity.order(:name).includes([:profile => :country]) activities = activities.where("lower(activities.city) like ?", "%#{params[:activity_search][:city].downcase}%") unless params[:activity_search][:city] == ""
activities = Activity.order(:name).includes([:profile => :country])
activities = activities.where("lower(activities.city) like ?", "%#{params[:activity_search][:city].downcase}%") unless params[:activity_search][:city] == ""
activities = activities.where("activities.sport_id =?", params[:activity_search][:sport_id])
我试图添加如下内容:
activities = activities.where("activities.profiles.country.id =?", params[:activity_search][:country_id])
活动的国家/地区与活动创建者的国家/地区相同
如何在查询中添加此约束
感谢您的帮助您需要在此处使用
连接来包含关联:
activities.joins(profiles: :country).where('countries.id = ?', params[:whatever])
这假设活动有多个:profiles
和Profile有一个:country
和countries
是您的表名,但根据您的帖子,我认为所有这些都是正确的。这将包括与活动关联的配置文件
和国家/地区
,并允许您在where
方法调用中使用它们的属性