0

创建“产品”时,我使用“before_validation”回调,以便创建附加字段。例如,

before_validation(:on => :create) do
   self.product_name = product_title+"_"+product_type
end

这很好,除非我想通过 CSV 导入文件。CSV 文件已经包含“product_name”,因此无需使用回调创建它。

我不想在导入 CSV 文件时使用“before_validation”回调。

在我创建产品之前,有没有办法检查 CSV 文件是否存在?像这样的东西

if csv.blank?
  before_validation(:on => :create) do
     self.product_name = product_title+" | "+product_type
  end
end
4

2 回答 2

0

只需使用与原来相同的双管before_validation

self.product_name ||= product_title+"_"+product_type

如果它已经存在,将返回自身。

于 2013-07-02T16:49:17.063 回答
0

仅当尚未填充产品名称时才执行此操作

before_validation(:on => :create) do
  self.product_name ||= product_title+" | "+product_type
end
于 2013-07-02T16:49:30.693 回答