ruby-on-rails – Rails 3 Inflection问题
发布时间:2020-12-17 03:52:42 所属栏目:百科 来源:网络整理
导读:我在为帆船赛生成脚手架时遇到了问题.我跑的时候 rails g scaffold Regatta name:string start_date:datetime 我得到一个名为regattum的模型和一个名为regatta_controller的控制器(而不是regattas_controller) invoke active_record create db/migrate/20110
我在为帆船赛生成脚手架时遇到了问题.我跑的时候
rails g scaffold Regatta name:string start_date:datetime 我得到一个名为regattum的模型和一个名为regatta_controller的控制器(而不是regattas_controller) invoke active_record create db/migrate/20110609221608_create_regatta.rb create app/models/regattum.rb invoke test_unit create test/unit/regattum_test.rb create test/fixtures/regatta.yml route resources :regatta invoke scaffold_controller create app/controllers/regatta_controller.rb invoke erb create app/views/regatta create app/views/regatta/index.html.erb create app/views/regatta/edit.html.erb create app/views/regatta/show.html.erb create app/views/regatta/new.html.erb create app/views/regatta/_form.html.erb invoke test_unit create test/functional/regatta_controller_test.rb invoke helper create app/helpers/regatta_helper.rb invoke test_unit create test/unit/helpers/regatta_helper_test.rb invoke stylesheets 相同的public / stylesheets / scaffold.css 显然这是一个变形问题,但每当我修改/config/initializers/inflections.rb时,我都会收到错误消息: The name 'Regatta' is either already used in your application or reserved by Ruby on Rails. Please choose an alternative and run this generator again. 我已经尝试了一切我能想到的功能,但我一直都会遇到错误.任何有关解决方案或变通方法的建议都将不胜感激! 更新 以下是我尝试过的一些事情: ActiveSupport::Inflector.inflections do |inflect| inflect.irregular 'regatta','regattas' end 这并没有改变任何东西,所以我尝试了下面的一些选项,其中包括不同的组合无济于事: inflect.plural 'regatta','regattas' inflect.singular 'regattas','regatta' inflect.singular 'regatta','regatta' 更新2 这是我在inflections.rb中使用的代码,一旦我弄清楚我做错了什么: ActiveSupport::Inflector.inflections do |inflect| inflect.plural 'regatta','regattas' inflect.singular 'regatta','regatta' inflect.singular 'regattas','regatta' end 希望这将有助于将来的人! 解决方法
鉴于错误消息说Regatta已经在您的应用程序中使用(显然不是由Rails保留),我猜测Regattum模型仍然存在.
我建议摧毁脚手架并再试一次.听起来,一旦在应用程序中定义了一个单词,Rails就会有一个内置的保护来防止变化.因此,抛出此错误是为了防止在这种情况下出现意外行为. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |