ruby-on-rails – Rails相当于Django的“选择”
发布时间:2020-12-16 19:13:33 所属栏目:百科 来源:网络整理
导读:我知道Rails中没有真正的等价物,但我的问题主要是关于最佳实践…… 在Django中,如果要将模型字段限制为有限的选择集,则可以执行以下操作(在模型中): COLOR_CHOICES = (('B','Blue'),('R','Red'))item_color = models.CharField(choices=COLOR_CHOICES) 根据
我知道Rails中没有真正的等价物,但我的问题主要是关于最佳实践……
在Django中,如果要将模型字段限制为有限的选择集,则可以执行以下操作(在模型中): COLOR_CHOICES = (('B','Blue'),('R','Red')) item_color = models.CharField(choices=COLOR_CHOICES) 根据我对Rails的基本理解,我可以实现类似的功能,例如,在表单中使用select标签来处理添加/编辑该模型… 然而我的问题是,在哪里声明“选择”哈希是合适的(我再次猜测哈希是我需要的?).基本上我只是希望它能够以任何形式轻松地重复使用,我可能需要提供这些选择,以及在模型级别进行验证时. 任何帮助/提示将不胜感激! 解决方法
在验证方面,可能validates_inclusion_of就是您所需要的:
class Coffee < ActiveRecord::Base validates_inclusion_of :size,:in => %w(small medium large),:message => "%{value} is not a valid size" end 至于生成帮助程序,您可以尝试以下方法: class Coffee < ActiveRecord::Base @@coffe_size = %w(small medium large) validates_inclusion_of :size,:in => @@coffe_size,:message => "%{value} is not a valid size" def self.coffee_size_options @@coffe_size.map{ |z| [z,z]} end end 然后在一些帮手: <%= select(:coffee,:size,Coffee.coffee_size_options) %> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Tenka1 Programmer Contest 2019 E - Polynomial Divisors
- Cocos2d-x 3.10全局定时器简便实现
- 从Ruby中的数组数组中找到所需值的真正方法是什么?
- c# – 是否可以从控制台应用程序加载web-config?
- ruby-on-rails – 如何按日期计数获得此postgres组包括0天
- c# – 如何在满足条件之前将多个文件压缩到文件夹中?
- NoSQL架构实践(三)——以NoSQL为缓存
- ruby-on-rails – 为什么有这么多宝石砸了,你对依赖有什么作
- DropDownList控件实现省市联动(AJAX实现)
- c – 你好世界,裸机Beagleboard