【问题标题】:Suppress child record name in Rails validation message when using fields_for使用 fields_for 时抑制 Rails 验证消息中的子记录名称
【发布时间】:2012-07-13 16:01:38
【问题描述】:

我有两个模型,定价和定价细节。定价 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"

但我只是得到“定价详细信息基础年度价格不能为空白”。

【问题讨论】:

    标签: ruby-on-rails validation model nested form-for


    【解决方案1】:

    您可以使用区域设置来更改嵌套字段的名称。看到这个答案https://stackoverflow.com/a/11129637/18038

    【讨论】:

      猜你喜欢
      • 2014-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-26
      • 2022-01-09
      • 2015-03-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多