Rails 3模型设置

时间:2011-11-28 14:55:48

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

我有一家公司

公司可以有一个状态

我对如何在模型中设置关联感到困惑

基本上在视图中,我将删除状态,用户为每个公司选择一个......

companies
id
name
status_id

company_statuses 
id
status (Unknown, Live, Dissolved, etc...)

我使用company_statuses表的想法是,他们可以改变加班时间,只需更改表中状态的名称,立即更新所有公司等等......

这是rails方式吗?!,或者我会更好地硬编码代码中的值并手动更新数据库如果需要进行更改?!

2 个答案:

答案 0 :(得分:1)

使用以下代码管理以使其正常工作。这是一个has_many关系而不是has_one

class Company < ActiveRecord::Base
  belongs_to :status_code
end

class StatusCode < ActiveRecord::Base
  has_many :companies
end

答案 1 :(得分:0)

公司有一个地位吗?如果是这种情况,则关系是多对一的,并且不需要company_status链接表。只需将公司表配置为具有状态列即可。

我的Rails 3有点生疏,但您的公司模型将具有以下功能:

has_one :status

您的状态模型将包含:

belongs_to :company