Simple form translation

Using the translation example here , which translates: male ,: female options, using Ruby I18n, the form will be:

View: _form.html.erb

<%= f.input :gender, collection: [:male, :female] %>

Generated HTML:

<option>Male</option>
<option>Female</option>

Therefore, when submitting the form uses the translated values.

How can I change the submission code to send ["male", "female"] values ​​instead of ["Male", "Female"]?

My best shot is still pretty ugly:

<%= f.input :gender, collection: [:male, :female].map{|v| [t("simple_form.options.user.gender.#{v.to_s}", v] %>
+4
source share
1 answer

In your opinion, you should just use

<%= f.input :gender, collection: [:male, :female] %> 

In your yaml file you should have

simple_form:
  options:
    user: (or defaults:)
      gender:
        male: Male
        female: Female

<option value="male">
  Male
</option>

, , .

, - ...

+3

Source: https://habr.com/ru/post/1529404/


All Articles