0
我有两个模块的rails应用程序。多个应用程序导轨的高效使用相同型号4
其中一个用于customer posts
,另一个用于admin panel
。我创建了我的customer
模块。一旦客户模块完成,我正在考虑为管理员提供同样的模型。
我怎样才能有效地使用客户和管理模块相同的模型。
任何人都可以在此建议我。
我有两个模块的rails应用程序。多个应用程序导轨的高效使用相同型号4
其中一个用于customer posts
,另一个用于admin panel
。我创建了我的customer
模块。一旦客户模块完成,我正在考虑为管理员提供同样的模型。
我怎样才能有效地使用客户和管理模块相同的模型。
任何人都可以在此建议我。
您可以使用相同名称但名称空间不同的模型。
可以在模型文件夹中创建模块:
module ModuleName
def self.table_name_prefix
'module_name_'
end
end
,然后模型,该模块将在模型/ MODULE_NAME目录,如:
class ModuleName::ModelName < ActiveRecord::Base
# attr_accessible :attr1, :attr2
end
您的迁移应该是这样的:
class CreateModuleNameModelNames < ActiveRecord::Migration
def change
create_table :module_name_model_names do |t|
t.timestamps
end
end
end
我认为这是相当明确的解决方案,如果你想要相同的型号名称为不同的ap折叠模块。
尝试rails g module_name/model_name
- 它会建议你模型命名空间的结构。
也查找STI(单表继承),例如here。