2008-12-30 39 views
41

在一個rails應用程序中,在哪種情況下你會使用partial,何時使用helper?我發現兩者非常相似,因爲它們代表標記片段。何時使用助手代替Partial

這是否有一個公約?這是使用它們的'rails方式'嗎?

謝謝!

回答

28

我想我的經驗法則是使用一個輔助構建顯示器的一個「單位」 - 像包含鏈接的跨度 - 並使用部分打造更組成顯示的更復雜的裝置比顯示器的一個「單位」 - 比如網格或菜單。

2

我用傭工當代碼很可能在其他項目中再次使用,而對於具體的項目代碼諧音。

2

我使用partials作爲子模板(即,有很多標記一次又一次地使用,如博客文章blurb),以及幫助程序處理顯示更多邏輯事物(只有管理員才能看到的div,例如)。

17

的部分是一個視圖片段,一塊的視圖是在多個地方有用和被拉出,從而除去重複的。但是,底線是觀看 - 獨立或部分 - 用於演示。

如您所知,控制器用於處理邏輯。然而,在呈現視圖時,您將需要一些邏輯處理,這是不可避免的。因此,例如,如果您有一些僅供管理員使用的演示文稿片段,則可以將該邏輯提取給幫助器,並將該視圖保持爲「純粹」和僅用於演示文稿。 Helpers將不可避免地包含表示代碼 - html標籤等 - 但這是它們使用的副產品,而不是它們的主要功能。

您也可以將二者結合起來 - 部分爲管理呈現,另一個用於用戶呈現,並與邏輯,以確定哪一個在特定情況下被渲染的幫手。

只是我的.02。

+3

但是rails只使用助手進行演示(如複選框和文本框) – 2008-12-30 03:24:22

0

局部模板是部分查看哪些可以有一堆HTML代碼以及Ruby代碼。 您也可以在渲染方法中使用控制器中的partials。

在助手的情況下,你可以有簡短的HTML代碼段的方法。你可以在你的視圖文件中使用一些計算相關的方法。