0

我有两张桌子在下面

contacts table
id
email
name
company
phone

signups table
id
contact_id
code
details

我有两个模型contactssignups并且也有相同的控制器。

我在这里想要的是从联系人表中获取所有数据,其中联系人表 id = 注册表contact_id。

我怎样才能在 ruby​​ on rails 中做到这一点?

更新

这是我的模型,现在是空的

class Usercontacts < ActiveRecord::Base
#has_one :signups
#has_one :receiver, :class_name => "Signups"
end

这是第二个模型

class Signups < ActiveRecord::Base
 attr_accessible :contact_id, :code, :event_id, :details

 #belongs_to :usercontacts
 #belongs_to :receiver, :class_name => "Usercontacts"
end

现在我正在做这样的事情我的注册控制器

class SignupsController < ApplicationController
layout 'admin_layout'

def signups
    #@signups = Contact.joins('LEFT OUTER JOIN signups ON contacts.id = signups.contact_id')
            @contacts = Contact.joins(:sign)
end
end

但这会从联系人表中获取所有数据。但我只想获取其 id 存在于注册表中的数据。

4

1 回答 1

5

you are not following rails conventions

Usercontacts should be UserContact with corresponding table name user_contacts(or Contact if you already have contacts table)

Signups should be Signup with corresponding table name signups

relation declarations follow same conventions - belongs_to :singular_name, has_many :plural_name

if you start following conventions all your problems will go away

于 2012-07-17T08:47:18.197 回答