2013-10-02 40 views
0

我有两个模块的rails应用程序。多个应用程序导轨的高效使用相同型号4

其中一个用于customer posts,另一个用于admin panel。我创建了我的customer模块。一旦客户模块完成,我正在考虑为管理员提供同样的模型。

我怎样才能有效地使用客户和管理模块相同的模型。

任何人都可以在此建议我。

回答

0

您可以使用相同名称但名称空间不同的模型。

可以在模型文件夹中创建模块:

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

相关问题