ruby-on-rails – Ruby on Rails已经使用或保留了名称?

我正在尝试使用以下命令在rails中创建新模型:
rails generate model Education name:string

运行它时,它返回以下错误

The name ‘Education’ is either already used in your application or
reserved by Ruby on Rails. Please choose an alternative and run this
generator again.

由于我刚刚创建了一个新应用程序并且只有一个其他模型,因此该应用程序中没有使用该名称,我很难想到为什么Rails会保留这样的名称的原因?

有关此错误来自何处以及如何解决此问题的任何想法?

(我已经尝试将名称更改为其他内容,并且它按预期工作.由于名称确实符合其目的,我不想更改其名称,除非没有其他方法!)

我使用Ruby 2.0.0与Rails 4.0.0和Postgresql

解决方法

您可能无法创建与Application同名的模型,因为它会创建冲突的名称.当您创建一个应用程序,即rails新教育时,它将创建一个名为Education的模块,如下所示
module Education
  class Application < Rails::Application
  #....
  end
end

然后在config.ru,routes.rb和environment.rb等文件调用此命名模块.因此,如果您能够使用相同的名称创建模型类,则会产生关于您是在调用模型还是模块的模糊性.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...