2012-07-17 29 views
0

我有兩個表被以下如何從兩個數據庫表的數據在Ruby on Rails的

contacts table 
id 
email 
name 
company 
phone 

signups table 
id 
contact_id 
code 
details 

我有兩個型號contactssignups,並具有相同的控制器作爲好。

我想要的是從聯繫人表中獲取所有數據,其中聯繫人表id =註冊表contact_id。

我該如何在導軌上做紅寶石?

更新

這裏是我的模型,其是空的,現在

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的數據。

+6

http://guides.rubyonrails.org/association_basics.html,將是一個很好的起點。 – 2012-07-17 07:54:29

+1

而且這也是:http://guides.rubyonrails.org/active_record_querying.html#joining-tables – Mischa 2012-07-17 08:04:43

+1

你的模特是什麼樣的?你有什麼嘗試?你必須表現出一些努力,不要期望人們爲你寫代碼。 – Mischa 2012-07-17 08:06:58

回答

5

你沒有關注的軌道約定

UsercontactsUserContact與相應的表名user_contacts(或Contact如果你已經有contacts表)

SignupsSignup與相應的表名signups

關係聲明遵循相同的約定 - belongs_to :singular_name,has_many :plural_name

,如果你開始按照約定所有的問題就會迎刃而解