Max*_*tor 5 forms validation ruby-on-rails dry
我有一个User它的模型对象permission的属性被限制validates_inclusion_of到['user','org_admin','site_admin'].在为此对象设计创建/编辑表单时,我不想复制此列表,以防以后更改.是否有"Rails方式"来执行此操作,或者我应该只将有效值列表提取到可从实例外部访问的属性中?
如果我真的想使用字符串,我可能会定义一个包含上述权限的 User::PERMISSIONS 常量。
class User < ActiveRecord::Base
PERMISSIONS = ['user','org_admin','site_admin']
validates_inclusion_of :permission, :in => PERMISSIONS
end
Run Code Online (Sandbox Code Playgroud)
简化形式(示例中使用simple_form )
simple_form_for(@user) do |f|
f.input :permission, :as => :select, :collection => User::PERMISSIONS
end
Run Code Online (Sandbox Code Playgroud)
如果创建一个权限模型并在创建新用户时只保存permission_id,那就更简洁了。
可能有更好的方法来做到这一点,所以我期待其他答案。
| 归档时间: |
|
| 查看次数: |
462 次 |
| 最近记录: |