具有条件的rails中多个ActiveRecord连接

时间:2013-04-10 09:19:53

标签: ruby-on-rails activerecord join conditional-statements

我的活动记录如下:

    class TemplateItem < ActiveRecord::Base
     attr_accessible :TemplateGroup_id, :name, :object_type
     belongs_to :TemplateGroup
    end

    class TemplateGroup < ActiveRecord::Base 
     attr_accessible :name, :style, :Widget_id
     belongs_to :Widget
     has_many :TemplateItem
    end

    class Widget < ActiveRecord::Base
      attr_accessible :name, :style
      has_many :TemplateGroup
    end

我的查询如下:

templateItems=TemplateItem.joins(:TemplateGroup => :Widget).where(:Widget => {:id => w.id})

但它显示错误。

请帮我看看基于小部件ID的重新搜索数据的写条件。

1 个答案:

答案 0 :(得分:0)

如果我理解,您希望获得属于某个template_items的所有Widget w.id“到”TemplateGroups

@templateItems=TemplateItem.joins(:templateGroups)
                           .where("templateGroups.widget_id = ?", w.id)