Есть ли у рельсов синтаксический сахар, который мог бы сделать это красивее? - PullRequest
0 голосов
/ 28 января 2012

Я написал модель для «Категории». Требования здесь заключаются в том, что каждая категория может относиться к одной категории «тип». Я изучаю рельсы в то же время, что и этот проект, и мне удалось заставить вышеуказанное работать со следующим методом класса (where_category_type);

class Category < ActiveRecord::Base

    #associations
    belongs_to :category_type
    has_and_belongs_to_many :recipes

    def self.where_category_type category_type
  Category.find(:all, :include => :category_type, :conditions => { :category_types => {:name => category_type }})
    end

end

Все работает и т. Д., Но я очень хочу убедиться, что я делаю вещи "рельсовым путем", поэтому мне было интересно, если я пропускаю какой-то синтаксический сахар где-то, что сделало бы это немного более читабельным / менее многословным

1 Ответ

1 голос
/ 28 января 2012
class Category < ActiveRecord::Base

    #associations
    belongs_to :category_type
    has_and_belongs_to_many :recipes

end

Тогда вместо определения * where_category_type * Статического метода класса категории, вы можете вызвать просто:

Category.joins(:category_type).where('category_types.name' => 'name of your category').all
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...