的Rails无法加载这样的文件 - 型号/助理/天

的Rails无法加载这样的文件 - 型号/助理/天

问题描述:

我在做一个辅助文件:models/helpers/days.rb的Rails无法加载这样的文件 - 型号/助理/天

不过,我尝试使用我的助手在我的控制器,并与下面的错误抛出了:

cannot load such file -- models/helpers/days 

我用下面的要求:

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

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

你不必把要求,如果你把你的助手为应用程序/佣工文件夹(这意味着你可以从你的应用程序的所有部分访问它们)。在你的情况下,它应该是应用程序/佣工/ 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