目前有一个 www 站点,已经在线上运行。 我现在想做一个 mobile 手机版本,是一个独立的项目。
但是,我遇到了一个问题: 在 mobile 版本中如何调用 www 版本中的 ActiveRecord 功能?
我现在没有一点头绪,求思路?谢谢各位。
可以采用 git submodule 的办法,楼主这样问题在我们公司的项目里经常存在,submodule 是最初期的方案,当然它也有一定缺陷,比如难以管理,而且容易变得臃肿,但是初期依然是首选哦
大家还记得 ActiveResource 这个东西么?最初就是设计用来做这件事情的,但是后来因为很多原因包括安全的考虑,压根没有在社区流行起来,在下一个版本的 Rails 中将被移除。
@Rei :是 WEB 项目,非 Native 方式。 @lgn21st @edokeh @xmonkeycn :从长远来看,封装成 api 倒是挺合适的。不过我接触 ruby 时间不久,目前这个网站也只是拿来练手的,所以我想用比较低的成本,先实现这个功能。后期水平提高了,再慢慢优化。
感谢各位朋友的建议!我刚才测试了一下 @diudiutang 的方案,的确是可行的。比较适合我现在的这种情况,成本不大,只需要配置一个数据库连接,然后将 model 复制进去即可。
ActiveRecord::Base.establish_connection(
:adapter => "mysql2",
:host => "localhost",
:database => "dousile_development",
:username => "root",
:password => ""
)
可以考虑做成一个项目,mount 多个 app(web app,api app,admin app...),共用 model,可以参考一下 padrino