我有两张表正在关注
contacts table
id
email
name
company
phone
和
signups table
id
contact_id
code
details
我有两个模型contacts
和signups
,并且也有相同的控制器。
我想要的是从联系人表中获取联系人表id =注册表contact_id的所有数据。
我怎样才能在ruby on rails上做到这一点?
更新
以下是我现在为空的模型
class Usercontacts < ActiveRecord::Base
#has_one :signups
#has_one :receiver, :class_name => "Signups"
end
HEre是第二个模型
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
但是这会从contacts表中获取所有数据。但是我想只得到那些id在注册表中出现的数据。
答案 0 :(得分:5)
您没有遵循铁路惯例
Usercontacts
应为UserContact
,并且相应的表名为user_contacts
(如果您已有Contact
表,则为contacts
Signups
应为Signup
,且对应的表名为signups
关系声明遵循相同的约定 - belongs_to :singular_name
,has_many :plural_name
如果您开始遵循惯例,您的所有问题都会消失