Использование after_create - PullRequest
       5

Использование after_create

0 голосов
/ 04 февраля 2011

У меня есть модель, категория.И я хочу создать новую подкатегорию по умолчанию, когда бы она ни создавалась.Но я не уверен, как это сделать.Вот что у меня есть.

class Category < ActiveRecord::Base
    attr_accessible :title, :position

    has_many :sub_categories

    after_create :make_default_sub

    def make_default_sub
      #Sub_Categories.new( :title=>' ');
    end
end

1 Ответ

3 голосов
/ 04 февраля 2011

Почему бы не использовать родословную драгоценный камень?В будущем, если у вас будет больше подкатегорий, вам будет легче управлять ими.

Например, в вашем случае:

class Category < ActiveRecord::Base
    attr_accessible :title, :position

    has_ancestry

    after_create :create_default_subcategory

    def make_default_sub
      children = self.children.new
      children.title = ''
      children.position = 1 # or autogenerated
      children.save!
    end
end

Но можете ли вы объяснить, зачем вам такаястранное поведение по умолчанию?

Спасибо

...