Ruby on rails Rails最佳实践-参数模型还是多态模型?

Ruby on rails Rails最佳实践-参数模型还是多态模型?,ruby-on-rails,model,Ruby On Rails,Model,我有两种模式:所有权和贷款 为了验证事务,我在两种模型上都使用布尔值:current,agreed,available。但这可能是多余的。所以我在问自己是否应该创建另一个模型,让我们称之为status,使用这三个布尔值,并添加与所有权和贷款的多态关联 你觉得怎么样?我是否应该从两个模型中删除布尔值,并创建包含每个布尔值的多态模型?还是按我的方式进行?我认为这里不需要多态关联,但将这些字段移动到单独的模型听起来是个好主意,因为从您的描述来看,这可能是一个简单的查找表 我将创建一个状态模型,并定义这

我有两种模式:
所有权
贷款

为了验证事务,我在两种模型上都使用布尔值:
current
agreed
available
。但这可能是多余的。所以我在问自己是否应该创建另一个模型,让我们称之为
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
#架构信息
#id:整数不为空,主键
#状态:字符串(8)不为空
#
类状态

然后在您的
所有权
贷款
模型中,我将添加一个
状态_id
字段,其中包含
状态.id
。您可以访问这些状态常量,如
status::CURRENT
等等。

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

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

# 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
#架构信息
#id:整数不为空,主键
#状态:字符串(8)不为空
#
类状态

然后在您的
所有权
贷款
模型中,我将添加一个
状态_id
字段,其中包含
状态.id
。您可以访问这些状态常量,如
status::CURRENT
等等。

这些常量是什么?@apheading,这是OP在两个模型中的布尔字段。你关于状态机的想法听起来很有趣。你能给我一个简单的例子吗?你的常数似乎包含了一个活动记录查询的结果,这个结果非常简单weir@apneadiving,谢谢您的链接。@apheading,是的,我想将这些存储在数据库表中。这些常量是什么?@apheading,这是OP在两个模型中的布尔字段。你关于状态机的想法听起来很有趣。你能给我一个简单的例子吗?你的常数似乎包含了一个活动记录查询的结果,这个结果非常简单weir@apneadiving,谢谢你的链接。@apreading,是的,我想把它们存储在数据库表中。我通常只使用状态机和一个状态字段。状态机是组织事件/回调的好方法。谢谢,我会读到的。但如果我不使用状态机(我是一个编码新手),我该怎么办?我通常只使用状态机和一个状态字段。状态机是组织事件/回调的好方法。谢谢,我会读到的。但如果我不使用状态机(我是一个编码新手),我该怎么办?