Я использую Ruby on Rails 3.2.2, и я хотел бы извлекать/объявлять связанные объекты, "указывая"/"фильтруя" значение атрибута этих связанных объектов. . То есть в настоящее время я использую следующий код:
class Article < ActiveRecord::Base
def self.search_by_title(search)
where('articles.title LIKE ?', "%#{search}%")
end
end
class ArticleAssociation < ActiveRecord::Base
def self.search_by_article_title(search)
joins(:article).where('articles.title LIKE ?', "%#{search}%")
end
end
В приведенном выше коде предложение where('articles.title LIKE ?', "%#{search}%")
повторяется дважды и поэтому я подумал, что его можно улучшить с помощью принципа DRY: можно ли использовать методArticle.search_by_title
непосредственно в методеArticleAssociation.search_by_article_title
?
Типичные варианты использования:
ArticleAssociation.search_by_article_title("Образец строки")
Article.search_by_title("Образец строки")