Использование параметров текста в форме рельсов - PullRequest
1 голос
/ 21 июня 2011

У меня есть форма для модели рельсов, где определенный ввод сохраняется в виде текста, и этот текст находится в выпадающем списке в форме.

В настоящий момент у меня есть следующее (используяFormtastic здесь):

= f.input :education_level, :as => :select, :collection => ["Some GCSEs or less", "College A levels", "Some University, no degree", "University graduate - Bachelors or equivalent", "Masters degree", "Professional Degree", "Doctorate"], :include_blank => false

Дело в том.Кажется, это не лучший способ сделать это.Это загружает мой взгляд чем-то, что, вероятно, должно быть в модели, но это не очень хорошо, когда речь идет о поддержке нескольких локалей.

Итак, каков наилучший способ сделать это?

1 Ответ

0 голосов
/ 21 июня 2011

В этом обсуждении в rails-i18n google group есть интересное решение:

#in a locale file
en: 
  education_levels: 
    gcses: Some GCSEs or less 
    collegeA: College A levels 
    some_university: Some University, no degree
    bachelors: University graduate - Bachelors or equivalent 
    masters: Masters degree
    professional: Professional Degree
    doctorate: Doctorate  

#And in a model: 
class Education < ActiveRecord::Base 
  def translated_education_level 
    I18n.t(education_level, :scope => :education_levels) 
  end 
end 

#In a helper: 
module EducationHelper 
  def education_levels 
    I18n.t(:education_levels).map { |key, value| [ value, key ] } 
  end 
end 

#And then in your view: 
<%= f.select :education_level, education_levels %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...