Create a flexible, localized, Ruby-on-Rails list-of-values

前端 未结 1 1183
轮回少年
轮回少年 2021-02-03 15:00

I have a list of values (Beginner, Intermediate, Advanced, Fluent, Native) that I would like to:

  • act as the model for a SELECT list
  • act as a model to conv
相关标签:
1条回答
  • 2021-02-03 15:27

    You can put the definition of an array in /config/locales/some_language.yml

    for example you could have the following in en.yml

    en:
       experience_levels: 
              1: Beginner 
              2: Intermediate
              3: Advanced 
              4: Fluent
              4: Native
    

    To get the key value pairs into a helper, the following should work:

    def experience_levels 
        I18n.t(:experience_levels).map { |key, value| [ value, key ] } 
    end
    

    To use this in a select box,you would just put the following in your form_for

    <%= f.select :experience_levels, experience_levels %>
    

    If you are using form_tag instead you need the following:

    <%= select_tag :experience_levels, options_for_select(experience_levels) %>
    
    0 讨论(0)
提交回复
热议问题