gpt4 book ai didi

ruby-on-rails - 在哪里存放重要 list

转载 作者:行者123 更新时间:2023-12-04 06:21:01 25 4
gpt4 key购买 nike

我的应用程序有许多选项列表,例如,管理项目处于哪个阶段 - 这些是用户从 select 中选择的选项。列表。我有很多这样的问题,我遇到了一个组织问题,即在一个地方定义这些的地方,以便系统保持干燥。

我也担心为了规范化而生成大量多态表,这有时会使代码变得相当复杂,而不会以实际值(value)的方式添加太多。

你能给我一个例子来说明在哪里存储一些选项,这些选项是 1) 字段唯一可能的选项,以及 2) 在系统范围内以任何形式可用的选项?

最佳答案

我使用 symbolize那种场景的 gem 。您可以将字段选项存储为字符串,将模型值作为符号执行操作,使用 i18n 作为标签,甚至还有一组帮助器来构建 select s 基于选项。

此外,代码保持非常干净,因为您在模型本身上设置了可用选项。

一探究竟:

https://github.com/nofxx/symbolize

这是他们文档中的示例:

class User < ActiveRecord::Base
symbolize :gender, :in => [:female, :male], :scopes => true
symbolize :so, :in => {
:linux => "Linux",
:mac => "Mac OS X"
}, :scopes => true

# Allow blank
symbolize :gui, :in => [:gnome, :kde, :xfce], :allow_blank => true

# Don`t i18n
symbolize :browser, :in => [:firefox, :opera], :i18n => false, :methods => true

# Scopes
symbolize :angry, :in => [true, false], :scopes => true

# Don`t validate
symbolize :lang, :in => [:ruby, :c, :erlang], :validate => false

# Default
symbolize :kind, :in => [:admin, :manager, :user], :default => :admin
end

关于ruby-on-rails - 在哪里存放重要 list ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6566557/

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