ruby-on-rails - DataMapper 还能用于 Rails 吗?

标签 ruby-on-rails ruby ruby-on-rails-4 datamapper ruby-datamapper

我希望在 Ruby on Rails 项目中为我的模型使用一个更独立的系统。看起来解决方案是 DataMapper。但是,我看到他们的存储库在去年都没有更新,并且当安装在 Rails 4 项目中时,它与较新的 Gems 存在 gem 版本依赖冲突。在 Rails 4 中使用它时,搜索没有找到任何内容。

它现在是什么状态?我应该使用它还是其他什么?

最佳答案

作为每天在我的工作中使用 DataMapper 的人,我建议坚持使用 ActiveRecord,除非你连接到一个你无法控制其模式的遗留数据库(但我也会考虑 Sequel 如果那是案件)。除了它是 EOL 的事实(作为维护者 stated on the mailing list ),许多需要模型持久性的 gem 将支持 ActiveRecord,但它们很少支持 DataMapper,因此期望自己实现支持。根据我的经验,如果我发现一个错误,我知道我也必须自己修复它,因为 DataMapper 的使用率低/被放弃。

正如 danmanstx 提到的,维护者现在主要关注 Ruby Object Mapper (ROM),它以前是 DM2。尽管有些 ROM 功能齐全,但它仍然没有发布日期 AFAIK(请参阅 roadmap)。

如果您查看相关 DM gems 的 release-1.2 分支,您会发现它确实每隔一段时间就会进行一些小的更新。然而,积压了数百个问题across the DataMapper gems ,许多超过 2 年的问题根本不会得到解决,因为没有足够的 DataMapper 维护者(而且我不会责怪他们想要研究新事物!)。

关于 DM gem 的最新 RubyGems 版本存在版本控制冲突,您是对的。如果您想使用 DM 的最新稳定版本,我建议您使用您需要的 DM gem 的 release-1.2 分支,例如

gem 'dm-core', git: 'git://github.com/datamapper/dm-core.git', branch: 'release-1.2'

关于ruby-on-rails - DataMapper 还能用于 Rails 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18153839/

相关文章:

javascript - 浏览器列表错误 : Unknown browser query `heroku create $YOUR_APP_NAME --region eudefaults`

ruby - 无法使用 HMAC 在 Ruby 中生成正确的加密 key

ruby-on-rails - 法拉第 gem 未定义方法 'bytesize' =' for Hash`

ruby-on-rails - 在 Rails 中如何使用事件记录 `where` 的模型方法?

ruby-on-rails - 使用带有 RMagick 处理的 CarrierWave 时出错

ruby-on-rails - 如何在 Windows 上安装 Linux Rails gem

ruby-on-rails - 在 Rails 中显示主机和数据库名称

ruby-on-rails - 设计:使用两个可能的加密密码登录

java - 使用 Ruby 生成 Java 项目

ruby-on-rails - 在 Rails 中创建嵌套资源时没有路由匹配