如何使用和编写活动记录查询到细节

时间:2016-02-18 09:31:23

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

我有两张桌子

1)属性:字段是id,name,properties_type,category_id

2)管理员:字段ID,名称,移动设备,category_id

我想编写一个活动记录来列出所有属性,其中属性表中的category_id和Admins表中的category_id是相等的,根据current_user_id

我通过以管理员身份登录列出此属性列表。

模型关系

class Category < ActiveRecord::Base has_many :admins,dependent: :destroy has_many :properties,dependent: :destroy end

class Admin < ActiveRecord::Base belongs_to :category has_many :properties end

class Property < ActiveRecord::Base belongs_to :admin belongs_to :category end

我写了这样的活动记录,但是我得到了错误, 任何人都可以建议我这个解决方案

@properties= Property.where('properties.category_id=?','admins.category_id=?').and('admins.id=?',current_user.specific.id)

2 个答案:

答案 0 :(得分:1)

通过您的assosciation,您可以使用子查询将结果放在一行

&#13;
&#13;
@properties = Property.where(category_id: Admin.select("category_id").where(id: current_user.id))
&#13;
&#13;
&#13;

答案 1 :(得分:1)

根据我的理解,current_userAdmin。因此,您可以category_id current_user进行搜索。如果我是对的,试试这个

@properties = Property.where(category_id: current_user.category_id)