simple_form_for simple rails form example collection ruby-on-rails-3 internationalization nested-attributes simple-form

ruby on rails 3 - rails - Etiquetas i18n para modelos anidados usando simple_form



simple form hidden (4)

Use el Rails i18n predeterminado.

it: activerecord: attributes: task: task_name: ''Nome compito''

Si un proyecto:

  • has_many: tareas
  • accepts_nested_attributes_for: tasks

y estoy usando simple_form como tal (simplificado):

simple_form_for @project do |f| f.input :project_name f.simple_fields_for :tasks do |j| j.input :task_name end f.submit end

¿Cómo internacionalizaría la etiqueta para :task_name ? He intentado bastantes combinaciones en mi archivo simple_form.it.yml , como:

it: simple_form: labels: project: project_name: ''Nome progetto'' task: task_name: ''Nome compito''

No he podido encontrar ejemplos en los documentos. Google señala un par de cuestiones cerradas aparentemente relevantes:

https://github.com/plataformatec/simple_form/issues/48

https://github.com/plataformatec/simple_form/issues/194

Pero hasta ahora estoy perdido ...

¡GRACIAS! Giuseppe


En la medida en que tu formulario acepte muchas tareas, debes pluralizar la task . Funciona en simple_form:

it: simple_form: labels: project: project_name: ''Nome progetto'' tasks: task_name: ''Nome compito''


SimpleForm debería recurrir a it.simple_form.labels.task.task_name pero no es así.

Puedes simularlo con algunos YAML ''hack''.

it: simple_form: labels: task: &task_labels task_name: ''Nome compito'' project: project_name: ''Nome progetto'' tasks: <<: *task_labels

Incluso puede personalizar las etiquetas de las tareas del proyecto, después de la línea <<: *task_labels .


Vago si esto es útil:

activerecord.errors.models.[model_name].attributes.[attribute_name] activerecord.errors.models.[model_name] activerecord.errors.messages errors.attributes.[attribute_name] errors.messages