`

你知道吗?关于Rails的小常识 一

阅读更多
情况是这样的:

    我在user model里写了个方法display显示一些信息,然后,我有个network控制器。

这里有个小常识:

  • 使用名词作为控制器的名称
  • 使用动词作为操作的名称


当然,只是一般而言例如index的action显然是不符合的。

然后,我在network控制器里写了个方法display,结果所有的display的view都不能正确的显示。

这里是我希望主要说的小常识:

不要在controller里用display做action。
(同样道理process也不行)

否则,你就会发现你在contoller里定义的实例变量都变成了nil。问题的原因,在于display是Ruby内建的一个函数,是Object类的方法。你写了action方法,那么,Rails会认为你要重载这个方法,那当然不会有错,只是找不到你定义的值。

这就如同,你在mysql里设计字段用type group之类的保留字,那也多少会给你以后的代码带来麻烦。


ps: model里的display方法是可以用的,为什么呢?  
1
0
分享到:
评论
2 楼 275266625 2010-09-14  
原来如此
1 楼 FlyingPiggy 2009-08-24  
保留字啊!

相关推荐

Global site tag (gtag.js) - Google Analytics