2011-07-28 3 views
1

で動的に選択したクラスを使用します。は、どのように私はそれは申し訳ありません...役に立たないタイトルだかなり確信しているモジュール

私は、メソッドにクラスを渡して、そのクラスを使用することができるようにしたいです。ここでは簡単に、働いて、例です:

それを使用して
def my_method(klass) 
    klass.new 
end 

>> my_method(Product) 
=> #<Product id:nil, created_at: nil, updated_at: nil, price: nil> 
>> my_method(Order) 
=> #<Order id:nil, created_at: nil, updated_at: nil, total_value: nil> 

作業はモジュール上klass変数を使用しようとしているではない何

>> ShopifyAPI::klass.first 
=> NoMethodError: undefined method `klass' for ShopifyAPI:Module 

私は不可能な仕事をしようとしていますか?誰かがこれについていくつかの光を当てることができますか?

乾杯

+0

なぜ私はあなたの質問を得た希望は

ShopifyAPI.module_eval {klass}.first 

をあなたが使っているクラスにクラスメソッドがあるはずだと思いますか?あなたは何を達成しようとしていますか? –

+0

@obrok私は私が望んでいることは、 'ShopifyAPI :: klass'は' ShopifyAPIになるように、クラス変数はモジュールに代入することで、クラスメソッドがあるはずはないと思う:: Product' 'のklass == 'klass == Order'のときは' ShopifyAPI :: Order'です。 –

答えて

関連する問題