2016-10-30 150 views
1

這裏是我的press_post/updater.rb文件有沒有辦法來命名空間的PORO類沒有模塊

class PressPost::Updater 
    def say_something 
    p 'hello world' 
    end 
end 

但是當我運行的東西我得到這個 「:未初始化不斷PressPost(NameError)

我知道其他答案已經觸及這個.. 一個竟然在第一行的類文件中創建一個空模塊..這似乎有瑕疵。

我知道有一種方法不必做這個額外的代碼。我相信這是一個配置或什麼的,但我不知道如何做到這一點。

注意..我想這樣做,因爲這是一個子目錄,這是一個容易許多搜索比更新

+0

請參閱http://guides.rubyonrails.org/autoloading_and_reloading_constants.html#nesting和http://guides.rubyonrails.org/autoloading_and_reloading_constants.html#nesting-and-qualified-constants。 –

回答

-1

不爲PressPost代碼::更新,如果這是你所追求的,但我總是包裹類到模塊:

module PressPost 
    class Updater 
    def say_something 
     p 'hello world' 
    end 
    end 
end 

有人指出out in this answer但它的清潔劑,我想是你是什麼後,這並不完全等同於當前的代碼。

+0

你會將模塊中的每個類包含在文件夾中嗎?我不喜歡必須將所有內容都包含在模塊中。使用PITA搜索PressPost :: Updater.new對象的類定義。 – baash05

+0

@ baash05如果你沒有得到更好的答案,'ack --files-with-matches Updater'至少會告訴你什麼文件/路徑包含你的類,這樣你可以進一步限制你的搜索範圍。 –