У меня есть много select
вариантов в моих формах с набором возможных вариантов.Rails - где хранить коллекции
Например:
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
Есть ли лучший способ сохранить коллекцию, например, в качестве метода в модели напрямую? Я не вижу необходимости хранить эти параметры в базе данных, поскольку они никогда не должны меняться.
Это похоже на правильный путь, чтобы пойти – Harry
Там небольшая опечатка. Разумеется, это должно быть '{: in => TITLES}. – Tintin81