Ruby Rails Gems 会覆盖我的模型吗? - Ruby 在 Rails

Will Ruby on Rails Gems Override My Models? - Ruby on Rails

假设我为评论创建了一个自定义脚手架(模型、控制器、视图),但事后我决定使用 gem,例如 "acts_as_commentable"。

例如,我有 comment.rb 作为模型,而 gem 创建了相同的模型。

Gem 还能正常工作吗?我假设它会失败或覆盖。遇到这种情况该怎么办?

简短的回答是肯定的,gem 将适用于您的评论模型。如果你看这里:https://github.com/jackdempsey/acts_as_commentable/blob/master/lib/comment_methods.rb 你会注意到 acts_as_commentable 在它自己的模块中命名空间,而且在它自己的 Comment 模块中。

这是一篇关于命名空间模块的好文章:http://dan.chak.org/enterprise-rails/chapter-3-organizing-with-modules/

此外,acts_as_commentable 并未继承自 ActiveRecord::Base,因此它看起来应该与您的应用程序配合得很好。

如有疑问,请查看源代码;)