gpt4 book ai didi

ruby-on-rails - rails 3 : What is the difference between an Engine and a Gem?

转载 作者:行者123 更新时间:2023-12-03 13:24:47 25 4
gpt4 key购买 nike

两者之间有什么区别,什么时候应该使用一个而不是另一个?

最佳答案

一个 Engine在 Rails 术语中,实际上是 Web 应用程序的子应用程序。例如,博客、论坛或简单的身份验证:这些不是成熟的应用程序,而是可以添加到任何 Rails 应用程序的页面/ View / Controller /模型。

在 rails2 中,这将使用 plugin 来完成。 .现在,由于 rails3 引擎可以打包在 gem 中。 .

一个 gem是一个 ruby​​ 库,可以在 http://rubygems.org 上找到它是打包和分发 ruby​​ 代码给其他 ruby​​ 专家的标准(唯一)方法。

所以得出结论:

  • gem:是一个通用库,可以很容易地安装,它是版本管理的,有依赖关系等等。
  • 引擎:是 Rails 应用程序的子应用程序,从 Rails 3 开始,它们作为 gem 分发(太棒了!)。

  • 所以你什么时候会使用其中一个:
  • 如果您想共享 ruby​​ 功能,请创建一个 gem
  • 如果您的 Rails 应用程序的某些部分可以更普遍地使用,请创建一个引擎(并将其打包在一个 gem 中)。

  • 希望这可以帮助。

    关于ruby-on-rails - rails 3 : What is the difference between an Engine and a Gem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6815401/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com