Переопределение родительского метода и его приватность / защита - PullRequest
0 голосов
/ 23 августа 2011

Я пытаюсь сделать метод create приватным / защищенным для модели ActiveRecord. Я хочу сделать что-то вроде этого:

class Product < ActiveRecord::Base
  def self.create(options)
    private
    super(options)

  end
end

так что я не могу сделать Product.create(...). Тем не менее, мне нужно сделать это

class Pencil < Product
    def self.create(options)
        options["category"] = "stationary"
        super(options)
    end
end

чтобы я смог сделать это Pencil.create(...). Заранее спасибо!

1 Ответ

1 голос
/ 23 августа 2011
class Product < ActiveRecord::Base
  class << self
    def create(options)
      super(options)
    end

    private :create
  end
end

class Pencil < Product
  class << self
    def create(options)
      options["category"] = "stationary"
      super(options)
    end
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...