如何在rails引擎上使用变形

mar*_*on 11 ruby-on-rails ruby-on-rails-4

我用它创建了一个引擎

rails plugin new myengine --mountable
Run Code Online (Sandbox Code Playgroud)

在项目文件夹中搜索"inflections"时,我找到 /test/dummy/config/initializers/inflections.rb文件

在这个文件中,我把

ActiveSupport::Inflector.inflections(:en) do |inflect|
  inflect.irregular 'singular_model', 'plural_model'
end
Run Code Online (Sandbox Code Playgroud)

当我尝试使用模型生成器(从项目根目录)

bin/rails generate model singular_model
Run Code Online (Sandbox Code Playgroud)

然后我用singular_models作为表名和迁移名称进行迁移

当我从myengine/test/dummy运行相同的命令时

bin/rails generate model singular_model
Run Code Online (Sandbox Code Playgroud)

我得到了具体的结果:plural_model作为表名和迁移名称

那么,我怎样才能将导流板装入导轨发生器?

uda*_*day 2

您实际上可以创建一个在项目 _root/config/initializers/ 中命名的文件inflections.rb,并在该文件中写入您的规则,例如,

# Be sure to restart your server when you modify this file.

# Add new inflection rules using the following format. Inflections
# are locale specific, and you may define rules for as many different
# locales as you wish. All of these examples are active by default:
ActiveSupport::Inflector.inflections(:en) do |inflect|
#   inflect.plural /^(ox)$/i, '\1en'
#   inflect.singular /^(ox)en/i, '\1'
#   inflect.irregular 'person', 'people'
#   inflect.uncountable %w( fish sheep )
    inflect.irregular 'cloth', 'clothes'
end

# These inflection rules are supported but not enabled by default:
# ActiveSupport::Inflector.inflections(:en) do |inflect|
#   inflect.acronym 'RESTful'
# end
Run Code Online (Sandbox Code Playgroud)

它也适用于发动机。

希望能帮助到你!