2012-07-28 62 views
1

我是一名rails初學者。在我的應用程序中寫入其中一個視圖時,最終會出現大塊(〜100行)難看的代碼。它相當不通用,因爲它主要由一些條件查找視圖特定的常量哈希組成。我想從視圖文件中刪除這個醜陋的代碼塊。Palce在Rails中爲視圖添加非泛型助手函數

什麼是最好的地方放這段代碼?具體來說,輔助模塊是否適合這種非泛型代碼?

回答

0

將代碼放入app/helpers/application_helper.rb,然後可以通過使用application佈局呈現的任何視圖訪問它。

另一種選擇是,以限定定製輔助模塊,其中一個不必與一個給定的視圖或控制器(見我下面鏈接的視頻)相關聯,並且include它在視圖中的模塊希望/控制器有功能。

輔助模塊的確可以調用它們,但要小心如何聲明您的方法,但您可以在輔助模塊中定義的內容有限制。

Here是從月好文章概述幫手模塊2011

Here是是RailsCast概述定製輔助模塊(即自定義如在不必與一個給定的控制器或視圖相關聯的模塊)。簡短,甜美,重要。

+0

我知道應用程序助手或自定義助手。但問題是:助手是否應該放置這樣的非泛型**代碼,這些代碼不會被我的應用程序的其他視圖使用。 – Dee 2012-07-28 20:58:04

+0

@Dee這不是黑色和白色的東西。但是,從您所描述的內容看來,這聽起來像是代碼在您的'application_controller.rb'中顯示出來,並且它不是具有證明它自己的控制器的功能的代碼,最有效和最高效的選擇可能是創建一個自定義輔助模塊並將其包含在您希望具有該功能的幫助程序中。也就是說,這最終是應用程序設計者(即_you_)需要決定的判斷調用。 – rudolph9 2012-07-28 21:06:13

+0

謝謝!這有助於:) – Dee 2012-07-28 21:20:55

相關問題