2012-07-30 104 views
1

我在做一個輔助文件:models/helpers/days.rb的Rails無法加載這樣的文件 - 型號/助理/天

不過,我嘗試使用我的助手在我的控制器,並與下面的錯誤拋出了:

cannot load such file -- models/helpers/days 

我用下面的要求:

require 'models/helpers/days' 
class MyController < ApplicationController 

反正是有,我可以用我的days.rb文件在我的控制?

回答

0

你不必把要求,如果你把你的助手爲應用程序/傭工文件夾(這意味着你可以從你的應用程序的所有部分訪問它們)。在你的情況下,它應該是應用程序/傭工/ days.rb

對於一個特定的控制器助手,你應該將其命名爲[CONTROLLER_NAME] _helper.rb。事實上,如果你運行rails generate controller [controller_name],Rails會自動爲你創建一個特定的幫手。

+0

謝謝@ kasperite。我以前曾想到,這些助手是針對特定控制器呈現的視圖的。他們可以被控制器使用嗎? 另外我的天文件實際上是一個哈希映射,它也被我的模型使用(因此它最初在模型的文件中)。它允許我執行諸如Days.Monday之類的事情。如果移動到助手文件夾,它們是否也可以被我的模型使用? – Karan 2012-07-31 08:46:29

+0

你好@牛頓,如果你按照命名約定** [controller_name] _helper.rb **,你的控制器將自動使用右側的助手。否則,你將不得不明確地在你的控制器中包含這個助手。有了模型,'include'是唯一讓你的助手可見的方式 – kasperite 2012-07-31 21:39:18

+0

感謝@ kasperite!這很有用。在這種情況下,你需要一個以上的控制器對象 - 我喜歡擁有儘可能多的對象,所以我可以經常看到這種情況。我必須擁有my_new_object_helper嗎?或者簡單地把my_new_object放到幫助文件夾中?正確的地方放在哪裏? – Karan 2012-07-31 21:59:15

相關問題