我的表单中有很多select
选项,其中包含一系列可能的选项。
例如:
title_options = %w[Mr Mrs Miss Ms Dr]
在我看来,我将渲染select
(使用formtastic):
<%= 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
有没有更好的方法来存储集合,例如直接作为模型中的方法?我认为没有必要将这些选项存储在数据库中,因为它们不应该改变。