2011-09-29 81 views
5

我打电话从Rails的控制台Rails 3的辅助方法是这样的:刷新助手从Rails的控制台

>> helper.my_method(parameter) 
>> #=> some result 

但是,如果我改变助手方法的变化,当我调用相同的方法没有反映再次。我不得不exit,为了看到更改的辅助方法生效运行rails console

回答

4

首先,你错题目你的问题。将来如果你更清楚你要找的是什么,你很可能会很快得到答案。

其次,在红宝石“函数”被称为“方法”。这不是什么大问题,我们都知道你在说什么,但适应社区使用的术语是很好的。

要回答你的问题,你只需要运行reload!类将被重新加载,包括您的助手。

+0

谢谢coreyward。 – utiq

7

其实,helper是memoizes的ApplicationController的帮手,当你调用reload!,至少在滑轨4.您可以解决此通过在控制台呼叫ApplicationController.helpers.my_method(parameter)它不会重载实例化对象。您仍然需要使用reload!当您编辑的帮手,但它不像helper重装。

0

过这个问题,现在来两次放弃后,我想出如何重新加载佣工不退出控制台,而不是通过ApplicationController.helpers.my_method(parameter)调用它们。

在致电reload!后,请再次包含您的帮手include MyHelper),并且它会包含您最近更改的帮助程序。