Есть ли такая вещь, как «вложенная находка» в Rails? - PullRequest
0 голосов
/ 01 декабря 2011

У меня есть множество вложенных включений - они великолепны для производительности - но что мне действительно нравится, так это «вложенная находка».Как лучше всего добиться чего-то вроде:

@matchingProducts = Batch.find(:all,
                               :conditions => 'product.name LIKE ?', "%#{search}%",
                               :include => :product)

Как видите, Product - это вложенный атрибут Batch, но я хочу найти пакет на основе Product.name.

Ответы [ 2 ]

2 голосов
/ 01 декабря 2011

Rails 3 Я бы использовал синтаксис AREL:

@matches = Batch.where('product.name LIKE ?', "search").includes(:product)
0 голосов
/ 01 декабря 2011

Ваша идея была правильной, вы можете сделать matchingProducts = Batch.find(:all, :include => 'products', :conditions => ["products.name LIKE ?", whatever_you_want], :order => order_as_you_want)

...