0

我有两个模型,定价和定价细节。定价 has_many 定价_详细信息。我有一个使用 form_for 的表单,因此我可以在同一个表单中创建定价对象和详细信息,并在一次保存调用中保存所有内容。

所有代码都按预期运行,问题是,当我在 price_details 模型上遗漏一个已验证字段时,验证消息如下所示:

“定价明细成本年度价格不能为空”

我的验证是:

def validate_cost
  field_name = PriceType.find(self.price_type_id).name
  if self.cost.blank?
    self.errors.add :cost, field_name + " cannot be blank"
  end
end

我想要的只是:“年价格不能为空”

我可以用来抑制子模型和字段名称的语言环境是否有一些技巧?我尝试添加到 base 中,如下所示:

self.errors.add :base, field_name + " cannot be blank"

但后来我得到“定价细节基础年度价格不能为空白”。

4

1 回答 1

0

您可以使用语言环境更改嵌套字段的名称。看到这个答案https://stackoverflow.com/a/11129637/18038

于 2013-03-12T21:57:10.783 回答