2

是我正在尝试的方向,但我无法让它与命名空间模型一起使用。

class Surveys::Hospital::JobMatch < ActiveRecord::Base
  has_many :job_match_answers,
           :class_name => "Surveys::Hospital::JobMatchAnswer",
           :foreign_key => "surveys_hospital_job_match_id"

  validates_presence_of :job_match_answers
end

我希望用户在错误消息中看到“职位名称”而不是“职位匹配答案”。我尝试在 config/locales/en.yml 中更改它。我尝试了几种组合。

1) 嵌套命名空间

en:
  activerecord:
    attributes:
      surveys:
        hospital:
          job_match:
            job_match_answers: "Job titles"

2) 内联命名空间

en:
  activerecord:
    attributes:
      surveys_hospital_job_match:
        job_match_answers: "Job titles"

3) 没有命名空间

en:
  activerecord:
    attributes:
      job_match:
        job_match_answers: "Job titles"

没有任何效果。如何使用命名空间模型执行此操作?

4

1 回答 1

3

我遇到了同样的问题,首先找到了您的问题,然后将搜索范围扩大到 en.yml 在另一个问题中找到了答案:Changing attributes name in en.yml file is not working

斜杠“/”是命名空间分隔符。

所以

    en:
      activerecord:
         attributes:
           surveys/hospital/job_match:
             job_match_answers: "Job titles"

于 2013-05-24T20:04:09.397 回答