gpt4 book ai didi

ruby-on-rails - 最佳实践 : should I use an AR Model or a global Hash for static data?

转载 作者:行者123 更新时间:2023-12-03 23:38:53 25 4
gpt4 key购买 nike

我在考虑建立一个社交网站。我的用户模型应该有一个属性“eyecolor”,它可以在带有选择框/下拉列表的 View 页面上设置。

我的问题:
-> 我应该制作 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 内组织您的静态定义,而不是在您的程序中 float ,这使得该定义的位置很清楚。
<%= select :user, :eye_color, EyeColor::COLORS %>

编辑:在谓词方法中添加了问号。

关于ruby-on-rails - 最佳实践 : should I use an AR Model or a global Hash for static data?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/615015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com