2017-01-13 50 views
0

我有一個模型類叫Person。 人員類別具有名爲car的屬性。添加關注模塊到模型

現在我想在一個名爲Person::Car::HasProducer

關注模型來定義模塊的模塊應該看起來像:

module HasProducer 

    def produced_by_toyota? 
    car == "Prius" 
    end 

    def produced_by_bmw? 
    car == "X3" || car == "X5" 
    end 
end 

我想找到下這個文件:顧慮/人/汽車/ has_producer.rb

Person -class我試圖把它列入這樣的:

class Person 
    include Person::Car::HasProducer 

但我得到的錯誤:Unable to autoload constant Person::Car::HasProducer

我試過的modules/classes不同的組合,但沒有一個星座爲我工作。

我該怎麼做has_producer.rb得到的結果是Person::Car::HasProducer

回答

1

無論是定義你的模塊相匹配的命名空間Person::Car::HasProducer即類似以下內容:

class Person 
    module Car 
    module HashProducer 
     # your code here 
    end 
    end 
end 

或只是include HasProducer

+0

感謝您的評論,它的工作通過改變第一'module'爲'class' 。太好了,你也注意到了'ActiveSupport :: Concern'。在這個示例代碼中我省略了它。請更新您的問題,我會將其標記爲正確! –

+0

將第一個'module'更新爲'class' –