将选项传递给find_or_create

时间:2010-09-17 05:03:21

标签: ruby-on-rails activerecord

是否可以将选项传递给find_or_create方法?我想在记录中加入一些协会。

我虽然这样的东西可行,但它不包括它们。

Event.find_or_create_by_asset_id(asset_id, :include => [:tags, :address]) 

1 个答案:

答案 0 :(得分:2)

对于像这样的动态查找器,选项的哈希实际上被方法的查找器部分忽略,而只是由create方法使用(如果被调用)。这是为了能够将属性值传递给create方法,例如{:name => "My Asset", :size => 123}

与其他ActiveRecord发现者相比,这是一种不一致的行为,在我做一些调查之前让我感到难过。以下是几年前在Rails Core邮件列表上的讨论:http://www.mail-archive.com/rubyonrails-core@googlegroups.com/msg05751.html