2011-03-22 112 views
1

我有一個模塊:未定義的方法,爲什麼?

module Room::Chair 

    def get_chair_type(user) 
    .. 
    end 

end 

然後,我有一個類方法 'self.get_available_chair',其調用'get_chair_type的方法在Room::Chair模塊的類:

class Store < ActiveRecord::Base 
    include Room::Chair 

    def self.get_available_chair(user) 
     my_chair=get_chair_type(user) # error: undefined method 'get_chair_type' 
    end 

end 

我有include Room::Chair,但我得到了錯誤未定義的方法'get_chair_type(user)'爲什麼?

回答

5

您使用的是include,所以get_available_chairStore的分類方法;並且您不能從類方法調用實例方法(get_chair_type)。

如果您想要get_chair_type爲類方法,請使用extend而不是include

0

因爲您已在aclass Store的範圍內定義了get_available_chair。它是一個類方法。它沒有訪問實例方法get_chair_type的權限。

相關問題