在find_or_create_by之后检测sql动作?

时间:2012-02-16 07:36:34

标签: ruby-on-rails-3 activerecord

考虑这个Rails代码:

town = Town.find_or_create_by_name("Paris")

如何知道town是刚刚插入还是已经存在于数据库中?

1 个答案:

答案 0 :(得分:0)

town = Town.find_or_create_by_name(“Paris”)。如果字段存在,它将返回name =“paris”的字段,否则创建一个name =“paris”的字段。

我怎么知道城镇是否刚插入或者数据库中是否已存在?

town = Town.find_by_name("Paris")
unless town.present?
    Town.create(:name=>'Paris')
end

希望,它会解决你的问题。