Ruby on rails Rails模型上的静态查找

Ruby on rails Rails模型上的静态查找,ruby-on-rails,ruby,model,Ruby On Rails,Ruby,Model,我正试图找出在rails应用程序中模拟简单查找的最佳方法 我有一个模型,优惠券,可以是两种“类型”,百分比或固定金额。我不想围绕“类型”查找构建一个数据库表,所以我只想在优惠券表上有一个优惠券类型(整数)字段,它可以是1(表示百分比)或2(表示固定) 处理这个问题的最佳方法是什么 我发现了这一点:但我不确定当我希望每个值都有两个字段(ID和Description)时该如何工作 我希望这也能填充一个选择列表 谢谢你的反馈 如果这确实不太可能改变,或者如果它确实改变了,这将是一个重大事件,需要重新部

我正试图找出在rails应用程序中模拟简单查找的最佳方法

我有一个模型,优惠券,可以是两种“类型”,百分比或固定金额。我不想围绕“类型”查找构建一个数据库表,所以我只想在优惠券表上有一个优惠券类型(整数)字段,它可以是1(表示百分比)或2(表示固定)

处理这个问题的最佳方法是什么

我发现了这一点:但我不确定当我希望每个值都有两个字段(ID和Description)时该如何工作

我希望这也能填充一个选择列表


谢谢你的反馈

如果这确实不太可能改变,或者如果它确实改变了,这将是一个重大事件,需要重新部署,最简单的方法是使用一个常量来定义条件:

COUPON_TYPES = {
  :percent => 1,
  :fixed => 2
}

COUPON_TYPES_FOR_SELECT = COUPON_TYPES.to_a
第一个常量定义正向映射,第二个常量的格式适用于选择的
选项

需要注意的是,从数据库读取此类数据最多需要一毫秒。除非每秒渲染数百个表单,否则几乎不会影响性能


不要担心优化那些不易察觉的问题。

如果这不太可能改变,或者如果它确实改变了,那么这将是一个重要的事件,需要重新部署,最简单的方法是使用一个定义条件的常数:

COUPON_TYPES = {
  :percent => 1,
  :fixed => 2
}

COUPON_TYPES_FOR_SELECT = COUPON_TYPES.to_a
第一个常量定义正向映射,第二个常量的格式适用于选择的
选项

需要注意的是,从数据库读取此类数据最多需要一毫秒。除非每秒渲染数百个表单,否则几乎不会影响性能


不要担心优化那些不易察觉的问题。

是否有任何理由必须在整数上附加说明,说明它是什么类型的优惠券?他们基本上说的是同一件事。应该使用STI并使用字符串类型列。它的数据量比整数稍多,但只适用于Rails。然后可以有一个父模型(
优惠券
)和两个子模型(
Percent优惠券
Fixed优惠券
)。是否有任何理由必须在整数上附加说明,说明优惠券的类型?他们基本上说的是同一件事。应该使用STI并使用字符串类型列。它的数据量比整数稍多,但只适用于Rails。然后可以有一个父模型(
优惠券
)和两个子模型(
百分比优惠券
固定优惠券
)。谢谢。我已经决定按照你的建议使用模型路由w/backing DB表-但是你肯定也回答了我的具体问题!非常感谢。我已经决定按照你的建议使用模型路由w/backing DB表-但是你肯定也回答了我的具体问题!