Ruby on rails Rails在未持久化关联上的条件

Ruby on rails Rails在未持久化关联上的条件,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,有什么办法吗 @destination.ratings.where(:name => 'monkey') 当没有一个模型被持久化时?没有,但是您可以使用普通的Ruby方法来检查未保存的模型 ActiveRecord中的where方法及其频带为数据库生成SQL查询,因此如果模型实例不在数据库中,它将找不到任何内容 差不多 @monkey = @destination.ratings.select{|rating| rating.name == 'monkey' }.first 可以做到这

有什么办法吗

@destination.ratings.where(:name => 'monkey')

当没有一个模型被持久化时?

没有,但是您可以使用普通的Ruby方法来检查未保存的模型

ActiveRecord中的
where
方法及其频带为数据库生成SQL查询,因此如果模型实例不在数据库中,它将找不到任何内容

差不多

@monkey = @destination.ratings.select{|rating| rating.name == 'monkey' }.first

可以做到这一点

我建议
。检测
它会更快,因为它会得到第一个匹配块中内容的内容,而不需要遍历整个数组才能得到第一个。@JordanMichaelRushing这是新的吗?它在2011年就不存在了。自2008年以来,Detect一直是ruby的一部分: