我正在开发一个电子商务应用程序,并在其管理网站上工作.这两个应用程序具有相同的业务域,并且在管理应用程序中需要一些来自电子商务应用程序的模型.
我已经在网上找到了一些共享模型的解决方案,虽然我不清楚哪个更好,我应该如何实现它.
找到的解决方案:
自动将模型从电子商务应用程序加载到管理ruby搜索
config.autoload_paths += %W(#{config.root}/../e-commerce-app/app/models/)
Run Code Online (Sandbox Code Playgroud)我认为第二种解决方案是正确的方法,虽然我不确定如何实现它.
都不是.
如何创建共享gem并将其放在您的私有git仓库上.使用Rails,您可以通过将gem打包为rails_engine,为应用程序本身自动加载模型提供相同的机制
见例子
最后需要在Gemfile中
gem 'my_gem_name', git: 'http:my_git_repo.com/my_gem_name'
Run Code Online (Sandbox Code Playgroud)
更先进的解决方案是为电子商务应用中的所需数据创建REST服务,并在管理应用中使用它.特别是对于用户(和身份验证),它甚至可以将其提取到单独的应用程序并提供UserAuthentication服务.