Om3*_*3ga 0 ruby database ruby-on-rails ruby-on-rails-3
我有两张桌子
contacts table
id
email
name
company
phone
Run Code Online (Sandbox Code Playgroud)
和
signups table
id
contact_id
code
details
Run Code Online (Sandbox Code Playgroud)
我有两个型号contacts,signups并且也有相同的控制器.
我想要的是从contacts表中获取联系人表id = signups表contact_id的所有数据.
我怎样才能在轨道上的红宝石中做到这一点?
更新
这是我的模型现在是空的
class Usercontacts < ActiveRecord::Base
#has_one :signups
#has_one :receiver, :class_name => "Signups"
end
Run Code Online (Sandbox Code Playgroud)
HEre是第二个模型
class Signups < ActiveRecord::Base
attr_accessible :contact_id, :code, :event_id, :details
#belongs_to :usercontacts
#belongs_to :receiver, :class_name => "Usercontacts"
end
Run Code Online (Sandbox Code Playgroud)
现在我正在做这样的事情我的注册控制器
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
Run Code Online (Sandbox Code Playgroud)
但这会从联系人表中获取所有数据.但我想只获取其身份在注册表中的数据.
你没有遵循铁路惯例
Usercontacts应该UserContact与相应的表名user_contacts(或Contact如果你已经有contacts表)
Signups应该Signup与相应的表名signups
关系声明遵循相同的约定 - belongs_to :singular_name,has_many :plural_name
如果您开始遵循惯例,您的所有问题都将消失
| 归档时间: |
|
| 查看次数: |
1598 次 |
| 最近记录: |