select
我的表单中有许多选项,并包含一系列可能的选项。
例如:
title_options = %w[Mr Mrs Miss Ms Dr]
在我看来,我将渲染select
(使用形式):
<%= f.input :title, :as => :select, :collection => title_options %>
不过,目前,我将标题选项存储在helper
文件中,每种文件都有许多方法select
:
module SelectHelper
def days_options
...
end
def title_options
...
end
..
end
然后,在验证模型中,我可以扩展此帮助程序:
class user < ActiveRecord::Base
extend SelectHelper
validates :title, :inclusion => {:in => title_options}
end
或重复以下选项:
class user < ActiveRecord::Base
validates :title, :inclusion => {:in = %w[Mr Mrs Miss Ms Dr]}
end
有没有更好的方法来存储集合,例如,直接作为模型中的方法?我认为没有必要将这些选项存储在数据库中,因为它们永远都不应更改。
好了,为简化起见,您可以将此集合存储在类中的常量中。
class User < ActiveRecord::Base
TITLES = %w[Mr Mrs Miss Ms Dr]
validates :title, :inclusion => {:in => TITLES}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句