【问题标题】:Should I be concerned if my rails class is overridden by a reserved public method?如果我的 rails 类被保留的公共方法覆盖,我应该担心吗?
【发布时间】:2018-07-28 23:45:10
【问题描述】:
在构建我的 rails 应用程序时,我还没有意识到某些类名或单词是保留供使用的。我创建了一个名为“Protocol”的类(类 Protocol
我现在可以看到“protocol()”是 rails 中的公共方法,因此 netbeans 的标志是:
https://apidock.com/rails/ActionDispatch/Http/URL/protocol
然而,我将一个类命名为“Protocol”,并没有将任何方法命名为“Protocol”。我需要相当长的时间来修复这个错误(重命名所有关联并重新迁移表并移动数据等)。
即使有这个问题,一切似乎都运行良好。如果我不更改它,如果我的应用程序现在有任何问题,谁能解释一下怎么办?
【问题讨论】:
标签:
ruby-on-rails
netbeans
reserved-words
【解决方案1】:
不,您不必担心。 Rails 中没有 Protocol 类,即使有,它也很可能是命名空间的。
您可以通过命令行生成模型来测试它是否被保留。例如,如果您尝试生成名为 ActiveSupport 的模型...
$ rails g model ActiveSupport
你会得到
The name 'ActiveSupport' is either already used in your application or reserved by Ruby on Rails. Please choose an alternative and run this generator again.