2013-12-17 160 views
0

我在app/models中有一個文件夾,名爲form_objects自動加載自定義文件夾

它包含一個名爲scoped_search.rb文件,定義一個類:

class ScopedSearch 

end 

application.rb我:

config.autoload_paths += %W(#{config.root}/app/models/form_objects) 

Rails的加載這個類在啓動時,但不拿起變化,而不重啓。

我應該如何確保該文件是自動加載的?

回答

2

我會做,其實我目前做的:

  • app/form_objects(文件夾)

  • app/form_objects/form_objects.rb

  • app/form_objects/form_objects(文件夾)

  • app/form_objects/form_objects/scoped_search.rb

app/form_objects/form_objects.rb包含:

module FormObjects 
end 

app/form_objects/form_objects/scoped_search.rb應該是:

module FormObjects 
    class ScopedSearch 

    end 
end 

這樣一切都清楚地命名空間+無需添加任何自動加載配置

+0

感謝。那麼你如何在控制器中使用'ScopedSearch'?你需要它嗎?你是否使用'FormObjects'命名空間來引用它? – Undistraction

+0

yes always':: FormObjects :: ScopedSearch',namespacing使事情變得清晰並避免衝突 – apneadiving

+0

FWIW有問題,因爲我需要'form/objects/scoped_search',防止Rails在更改時自動加載它。 – Undistraction