在rails上导致ruby错误的模型名称

时间:2009-08-14 15:31:16

标签: ruby-on-rails activerecord

在我看来,有可能在轨道上打破ruby,这样当使用特定的模型名称时,脚手架都不再工作,也不会进行数据库迁移。

特别是当使用“Dispatcher”通过scaffold创建模型时,我注意到了这一点。如果我使用不同的名称创建相同的对象,一切正常。

是否有人有类似的经历,或者是否有不使用的名单?

由于

2 个答案:

答案 0 :(得分:7)

Rails中保留字的官方列表:http://wiki.rubyonrails.org/rails/pages/reservedwords

“调度员”列在“其他名称报告有问题”

希望有所帮助:)

答案 1 :(得分:2)

Dispatcher是一个由Rails在ActionController下定义的类 - 所以你遇到了与Rails类的冲突。

在Rails控制台中:

>> Dispatcher
=> ActionController::Dispatcher

如果你想使用类名Dispatcher,你可以在模块中命名它,尽管最好不要使用与基础Rails类冲突的名称。