如何使用自定义生成器生成迁移

问题描述

这是 lib / genrators / form

中的生成器类
class FormGenerator < Rails::Generators::Base
      source_root File.expand_path('templates',__FILE__)
      source_root File.expand_path('templates',__dir__)
      argument :model,type: :string
    
    def create_template
    
        template "models/form.template","app/models/#{model}.rb"
        template "controllers/forms_controller.template","app/controllers/#{model}s_controller.rb"
        template "javascript/api/form.template","app/javascript/api/#{model}.js"
        template "javascript/pages/component/forms.template","app/javascript/component/#{model}s.vue"
        template "javascript/pages/form/index.template","app/javascript/pages/#{model}/index.vue"
        template "javascript/pages/form/layout.template","app/javascript/pages/#{model}/layout.vue"
        template "javascript/store/actions/form.template","app/javascript/store/actions/#{model}.js"
        template "javascript/store/getters/form.template","app/javascript/store/getters/#{model}.js"
        template "javascript/store/modules/form.template","app/javascript/store/modules/#{model}.js"
        template "javascript/store/mutations/form.template","app/javascript/store/mutations/#{model}.js"
    
      end
    
    end

这是输出:

rails g form test name:string
create  app/models/test.rb
      create  app/controllers/tests_controller.rb
      create  app/javascript/api/test.js
      create  app/javascript/component/tests.vue
      create  app/javascript/pages/test/index.vue
      create  app/javascript/pages/test/layout.vue
      create  app/javascript/store/actions/test.js
      create  app/javascript/store/getters/test.js
      create  app/javascript/store/modules/test.js
      create  app/javascript/store/mutations/test.js
我想要这个生成器,生成db / migrate中的迁移文件 我已经尝试了这些东西,但没有成功:
class FormGenerator < Rails::Generators::Base
include Rails::Generators::Migration
include ActiveRecord::Generators::Base
migration_template 

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...