通常在 Rails 中编写模型时,您使用 DSL 来设置派生对象的各个方面,例如:
class Question < ActiveRecord::Base
has_one :category
validates_presence_of :category
end
在这种情况下,“has_one”和“validates_presence_of”在从 Question 实例化的模型上创建关联和验证回调。
我想在定义一个类时添加一个名为“parent”的新方法:
class Question
attr_accessor :category
parent :category
end
q = Question.new
q.category = 'a category'
puts q.parent
-> 'a category'
因此,当从类实例化对象时,它们应该定义方法“父”。
我该怎么做呢?我的第一个想法是使用模块,但这不是实例方法,也不是类方法。