0

私は現在問題に直面しています。実行時にRubyを生成するサブクラス

私は1つの親クラスItem(Model)を持っています。 Itemから継承した2つの静的サブクラスがあります。

しかし、私は管理者ユーザーが実行時に新しいItemサブクラスを作成できるようにしたいと考えています。

class Item < ActiveRecord::Base 
#template methods 
end 

class StoreItem < Item 
#hooks for overriding template method 
end 

class OnlineItem < Item 
#hooks for overriding template method 
end 

ビューでは、ユーザーが新しい名前を付けて作成をクリックして新しいクラスを動的に作成できるフォームを提供したいと考えています。

私はに関して助けたい:これを達成するためにどのように

  1. また、メタプログラミングですか、または を工場出荷時のパターンにしてデフォルトクラスを使用しなければなりませんか?

答えて

1

あなたは `Class.new(項目)` `

例を探してください:祖先の一つはItemある

require 'active_record' 

class Item < ActiveRecord::Base 
#template methods 
end 

x = Class.new(Item) 
puts x.ancestors 

ところで:Class StoreItem < Itemが間違っています。この場合、クラスの代わりにclassを使用する必要があります。

+0

クラスもまたルビのオブジェクトなので意味があります。ありがとう:) (私の悪い!それはここに入力中にタイプミスでした) –

関連する問題