我正在开发一个电子商务应用程序,并且正在其管理网站上工作。这两个应用程序具有相同的业务领域,并且我需要在管理应用程序中使用电子商务应用程序中的一些模型。在两个Rails之间共享通用模型应用
我发现了一些在线共享模型的解决方案,但我不清楚哪一个更好,我应该如何实现它。
解决方案,我发现:
Create a rake task to copy the models from the e-commerce app to the admin app
自动加载从电子商务应用的模型来管理红宝石搜索
config.autoload_paths += %W(#{config.root}/../e-commerce-app/app/models/)
我认为第二种解决方案是正确的方法,但我不确定如何实现它。
这实际上是一个难题。通常情况下,管理界面不需要“完整”模型(所有的验证,电子邮件钩子和什么)。将模型捆绑在共享gem中可能会为管理应用创建依赖关系,如果仅使用简化副本,则不需要这些依赖关系。 – 2014-09-23 13:00:52
您不必将所有模型打包到宝石中。只有普通的。而且你也触及一个有趣的观点。您必须在不同应用上访问相同数据的事实并不一定意味着它应该由完全相同的模型完成。有时,只有另一种业务逻辑才能进行相同的数据访问,并且最好将行为提取到不同的类中以避免炸毁模型 – 2014-09-23 13:09:59
现在,电子商务网站具有用于设计身份验证的用户模型。我向管理员提供用户统计信息,因此我需要访问管理应用程序中的该用户模型。那么,我可以在用户模型中使用gem,并且对于电子商务应用程序也可以使用设计认证? – Saurabh 2014-09-23 14:24:22