我有两个模型:Ownership
和Loan
。
为了验证交易,我在两个模型上都使用了 boolean : current
, agreed
, available
. 但这可能是多余的。所以我问自己是否应该status
使用这三个布尔值创建另一个模型,我们称之为 ,并添加与 Ownership 和 Loan 的多态关联。
你怎么看待这件事 ?我应该从两个模型中删除布尔值并创建一个包含每个布尔值的多态模型吗?还是我应该按我的方式行事?
我有两个模型:Ownership
和Loan
。
为了验证交易,我在两个模型上都使用了 boolean : current
, agreed
, available
. 但这可能是多余的。所以我问自己是否应该status
使用这三个布尔值创建另一个模型,我们称之为 ,并添加与 Ownership 和 Loan 的多态关联。
你怎么看待这件事 ?我应该从两个模型中删除布尔值并创建一个包含每个布尔值的多态模型吗?还是我应该按我的方式行事?
我认为您在这里不需要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
然后在你的Ownership
和Loan
模型中,我会添加一个status_id
包含Status.id
. 并且您将访问这些状态常量Status::CURRENT
,依此类推。