1

我有两个模型:OwnershipLoan

为了验证交易,我在两个模型上都使用了 boolean : current, agreed, available. 但这可能是多余的。所以我问自己是否应该status使用这三个布尔值创建另一个模型,我们称之为 ,并添加与 Ownership 和 Loan 的多态关联。

你怎么看待这件事 ?我应该从两个模型中删除布尔值并创建一个包含每个布尔值的多态模型吗?还是我应该按我的方式行事?

4

1 回答 1

1

我认为您在这里不需要polymorphic关联,但是将这些字段移至单独的模型听起来是个好主意,因为从您的描述中可以看出这可以是一个简单的查找表。

我将创建一个Status模型并定义这三个属性:

# Schema Information
# id     :integer   not null, primary key
# status :string(8) not null 
#

class Status < ActiveRecord::Base
  CURRENT = find_by_status('current')
  AGREED = find_by_status('agreed')
  AVAILABLE = find_by_status('available')
end

然后在你的OwnershipLoan模型中,我会添加一个status_id包含Status.id. 并且您将访问这些状态常量Status::CURRENT,依此类推。

于 2013-07-15T09:32:20.663 回答