8

如果一个项目:

  • has_many:任务
  • 接受嵌套属性:任务

我正在使用 simple_form 像这样(简化):

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

我将如何将标签国际化:task_name?我在我的simple_form.it.yml文件中尝试了很多组合,例如:

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

无法在文档中找到示例。谷歌指出了几个明显相关的已解决问题:

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

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

但到目前为止,我很茫然...

谢谢!朱塞佩

4

4 回答 4

18

只要您的表单接受许多任务,您应该复数task。它以 simple_form 工作:

it:
  simple_form:
    labels:
      project:
        project_name: 'Nome progetto'
        tasks:
          task_name:  'Nome compito'
于 2012-01-02T17:39:17.057 回答
3

使用默认的 Rails i18n。

it:
  activerecord:
    attributes:
      task:
        task_name:  'Nome compito'
于 2011-10-06T13:29:04.943 回答
3

SimpleForm 应该回退到,it.simple_form.labels.task.task_name但事实并非如此。

您可以使用一些 YAML 'hack' 来模拟它。

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

您甚至可以<<: *task_labels在行后自定义项目任务的标签。

于 2012-04-13T20:13:01.223 回答
0

如果这有帮助,我会徘徊:

activerecord.errors.models.[model_name].attributes.[attribute_name]
activerecord.errors.models.[model_name]
activerecord.errors.messages
errors.attributes.[attribute_name]
errors.messages
于 2014-07-31T20:12:13.680 回答