我有一個Rails 5應用程序,它有三個數據庫的單獨遷移。我正在添加一個新的數據庫。我通常做一個rails g model field1:type1 field2:type2 field3:type
....來創建我的數據庫表與所需的領域。我想創建生成模型語句,它將生成所需數據庫的模型並將其放入相應的db/migrate文件夾中。如何創建自定義Rails生成模型函數?
我有自定義數據庫遷移生成器的其他數據庫在lib /生成器。以下是自定義遷移生成器的示例。
lib/generators/stats_migration_generator.rb
require 'rails/generators/active_record/migration/migration_generator'
class StatsMigrationGenerator < ActiveRecord::Generators::MigrationGenerator
source_root File.join(File.dirname(ActiveRecord::Generators::MigrationGenerator.instance_method(:create_migration_file).source_location.first), "templates")
def create_migration_file
set_local_assigns!
validate_file_name!
migration_template @migration_template, "db_stats/migrate/#{file_name}.rb"
end
end
我想我需要創建的lib /發電機/ mydb_model_generator.rb或任何正確的文件名結構是每個額外的數據庫。我想我可以在GitHub中查看model_generator.rb文件後做這樣的事情。
lib/generators/stats_model_generator.rb
require 'rails/generators/active_record/model/model_generator'
class StatsModelGenerator < ActiveRecord::Generators::ModelGenerator
source_root File.join(File.dirname(ActiveRecord::Generators::ModelGenerator.instance_method(:create_migration_file).source_location.first), "templates")
def create_migration_file
set_local_assigns!
validate_file_name!
migration_template @migration_template, "db_stats/migrate/#{file_name}.rb"
end
end
這裏是我的問題,看着爲Rails,the Rails Guide regarding creating and customizing Generators和Ruby on Rails的API文檔Git倉庫後:
- 我如何找到我需要什麼要求?
- 如何找到我需要重寫db/migrate文件夾名稱的方法?
- 如何找出如何命名模型生成器的rb文件?
我的假設在我嘗試創建模型生成器時是否正確?