我有一個類,有一些假的關係,我想要實現:如何創建假has_many關係,並讓每個關係都包含類方法作爲實例方法?
兩種形式module FormStack
class Connection
def forms; end
def fields; end
end
end
我已經metaprogramically生成的類和字段(因爲它們是基於REST的資源,它們共享相同的動作名稱,而params) ,並且我想在我的FormStack :: Connection類中將這些方法包含在我的假關係中。這可以做到嗎?
我基本上想要<FromStack::Connection Instance>.forms
的行爲就好像它是FormStack::Form
,所以我可以做的事情如<connection>.forms.all
或<connection>.forms.find(id)
。
這可能嗎? 任何我應該看的最佳實踐? (這對我來說似乎有些奇怪,但我認爲這是一種以有用的方式實現方法的優雅方式,同時仍然具有對Restful資源/對象的ActiveRecord-esque抽象)。
這是我的工作的代碼,如果你想看看:https://github.com/TinderBox/formstack/tree/connection_instances
這會允許是做' .forms.all'或' forms.find(id)'例如? 'all'和'find'是類方法。 –
NullVoxPopuli
窗體實際上不是'FormStack :: Forms'中的方法,請參閱:https://github.com/TinderBox/formstack/blob/connection_instances/lib/formstack/form.rb – NullVoxPopuli