ruby-on-rails – 最佳做法:我应该使用AR模型还是全局哈希静态数据?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 最佳做法:我应该使用AR模型还是全局哈希静态数据?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在想一个社交网站.我的用户模型应该有一个属性“eyecolor”,可以在具有选择框/下拉列表的视图页面上设置.

我的问题:
– >我应该做一个AR模型,还是应该使用一个全局的哈希/常数的数据?
“静态模型”有最佳实践吗?

并且如何在没有AR模型的情况下关联以下关系:

u = User.first 
u.eyecolor 
==> 1 (not the eyecolor-string!)

我需要的是eyecolor-string:

u = User.first 
u.eyecolor 
==> "brown"

谢谢,
对不起,我的英语不好!

解决方法

您可以创建一个模型来处理您的眼睛颜色逻辑:
class EyeColor
   COLORS = ['blue','brown','hazel']

   attr_accessor :color

   # Some logic methods...
   def is_brown?
     self.color == 'brown'
   end

end

注意:此模型不是Active Record模型,但它确实创建了一个抽象,您正在尝试建模的真实世界对象.

编辑:我也喜欢这种方法,而不是全局哈希,因为它给它组织在EyeColor中的静态定义,而不是浮动在你的程序中,这使得它清楚这个定义在哪里.

<%= select :user,:eye_color,EyeColor::COLORS %>

编辑:添加问号到谓词方法.

原文链接:https://www.f2er.com/ruby/272826.html

猜你在找的Ruby相关文章