为啥 Rails 脚手架生成器只是忽略了我的 config/initializers/inflections.rb?

Posted

技术标签:

【中文标题】为啥 Rails 脚手架生成器只是忽略了我的 config/initializers/inflections.rb?【英文标题】:Why does rails scaffold generator is simply ignoring my config/iniatilizers/inflections.rb?为什么 Rails 脚手架生成器只是忽略了我的 config/initializers/inflections.rb? 【发布时间】:2015-01-09 18:42:24 【问题描述】:

我正在使用带有 ruby​​ 2.1 的 Rails 3.2

我将此代码放入我的 config/initializers/inflections.rb :

  ActiveSupport::Inflector.inflections do |inflect|
    inflect.irregular 'pub_type_contributeur', 'pub_types_contributeurs'
    inflect.irregular 'PubTypeContributeur', 'PubTypesContributeurs'
  end

当我用我的 Rails 控制台测试它时,它可以工作:

rails console
[deprecated] I18n.enforce_available_locales will default to true in the future. If you really want to skip validation of your locale you can set I18n.enforce_available_locales = false to avoid this message.
Loading development environment (Rails 3.2.16)
2.1.0 :001 > "attendance".pluralize
 => "attendances" 
2.1.0 :002 > "pub_type_contributeur".pluralize
 => "pub_types_contributeurs" 
2.1.0 :003 > exit

但是当我使用标准生成器时,它只是忽略了我的变形:

rails generate scaffold pub_type_contribueur nom:text -p
[deprecated] I18n.enforce_available_locales will default to true in the future. If you really want to skip validation of your locale you can set I18n.enforce_available_locales = false to avoid this message.
      invoke  active_record
      create    db/migrate/20141112191424_create_pub_type_contribueurs.rb
      create    app/models/pub_type_contribueur.rb
      invoke    rspec
      create      spec/models/pub_type_contribueur_spec.rb
      invoke      factory_girl
      create        spec/factories/pub_type_contribueurs.rb
      invoke  resource_route
       route    resources :pub_type_contribueurs
      invoke  scaffold_controller
      create    app/controllers/pub_type_contribueurs_controller.rb
      invoke    haml
      create      app/views/pub_type_contribueurs
      create      app/views/pub_type_contribueurs/index.html.haml
      create      app/views/pub_type_contribueurs/edit.html.haml
      create      app/views/pub_type_contribueurs/show.html.haml
      create      app/views/pub_type_contribueurs/new.html.haml
      create      app/views/pub_type_contribueurs/_form.html.haml
      invoke    rspec
      create      spec/controllers/pub_type_contribueurs_controller_spec.rb
      create      spec/views/pub_type_contribueurs/edit.html.haml_spec.rb
      create      spec/views/pub_type_contribueurs/index.html.haml_spec.rb
      create      spec/views/pub_type_contribueurs/new.html.haml_spec.rb
      create      spec/views/pub_type_contribueurs/show.html.haml_spec.rb
      create      spec/routing/pub_type_contribueurs_routing_spec.rb
      invoke    helper
      create      app/helpers/pub_type_contribueurs_helper.rb
      invoke      rspec
      create        spec/helpers/pub_type_contribueurs_helper_spec.rb
      invoke  assets
      invoke    coffee
      invoke    scss
      invoke  scss

我做错了什么?

【问题讨论】:

【参考方案1】:

好吧,有些时候我们工作太晚了,名字拼错了……抱歉,这是我的错,我忘记了“t”字母。

我的命令不正确:

rails generate scaffold pub_type_contribueur nom:text --no-stylesheets -p

这是正确的:

rails generate scaffold pub_type_contributeur nom:text --no-stylesheets -p

【讨论】:

以上是关于为啥 Rails 脚手架生成器只是忽略了我的 config/initializers/inflections.rb?的主要内容,如果未能解决你的问题,请参考以下文章

Ran 代码生成器:rails 生成脚手架帖子标题:字符串正文:文本并收到错误消息

为啥Java Web框架都没有很好的脚手架

为啥 Spring 忽略了我的 @DependsOn 注释?

脚手架忽略 CakePHP 中的类文件

为啥 Azure DevOps / TFS 中忽略了我的 repositoryPath?

当我尝试生成脚手架时出现 Rails 错误