2010-01-24 72 views
2

我對Rails相對較新,最近發現了幾個有用的寶石,如authlogic,這些寶石將有助於實現項目的進度和速度。但是,我一直想知道在哪裏放置依賴於插件的模型,視圖和控制器文件,但是我的項目的核心概念。Rails:放置插件文件的位置

例如,是它更好地將用戶,角色,會話等。模型和相關的控制器與vendor/目錄裏面的插件,或者我應該把他們的根model/view/內,分別controllers/目錄?

回答

2

即使依賴於插件的模型/視圖/控制器也應該保存在app/model,app/viewapp/controllers目錄以及其他代碼中。

「結構性」的原因是,所有這些文件的大部分仍將特定於您的應用程序。您可能最終會向用戶添加字段,或將has_many語句添加到User模型等。您需要在app目錄中包含其餘核心應用程序代碼的所有代碼。

「功能」的原因是vender/plugins只有代碼專門與該插件相關,並在開發過程中被區別對待。例如,當您添加一個新的插件時,它不會在開發模式下自動加載。所以如果你的核心文件在那裏,即使在開發模式下它們也不會被自動重新加載。

+0

從兩個角度都有很多意義。我被卡住的原因是因爲這些插件可以通過語言特性輕鬆修改或擴展爲ruby,插件和自定義代碼之間的界限開始模糊。 – Anurag 2010-01-24 07:13:30

+0

@Anurag它可能會讓人困惑。更令人困惑的是,如果您正在爲* your *應用編寫代碼,則將其保存在'app'目錄中。如果您正在修改* core插件*的操作方式,您通常會將這些更改放入'lib'中,並遵循特殊的文件夾/文件命名模式,以便實際插件仍可以從源代碼升級,並且您的更改仍然是分開的。 – 2010-01-24 07:15:09

1

你寫的任何東西都應該在標準目錄中。使用供應商提供供應商提供的代碼。