如何在保存关联之前保存关联信息?

时间:2015-02-10 02:31:31

标签: ruby-on-rails ruby-on-rails-3 validation callback

User有很多Photos。我想像这样命名每个photo

def safe_name
  self.name = "#{user.code}#{user.photos.count + 1}"
end

保存关联时验证此名称。我可以在after_save中调用该方法并让它工作,但照片的名称不应该是空白的。如何在保存照片之前抓住它以使其有效?

2 个答案:

答案 0 :(得分:0)

如果您需要操作数据然后验证它,您可以使用Active Record回调before_validation。这将修改名称,然后调用验证器。

http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html

答案 1 :(得分:0)

您可以使用before_validation回调