ruby-on-rails - 在 Rails 中,我应该安装为 gem 还是插件

标签 ruby-on-rails plugins

我正在尝试使用 acts_as_audited插入。我应该将它安装为 gem(放在 environment.rb 中)还是插件?

一个比另一个的优势是什么。稍后我计划将此应用程序放在客户端服务器上以进行永久托管。所以我最好把它当作 gem 吗?如果它是一个 gem ......当我把应用程序放在客户端服务器上时......我不需要再次获得这个插件吗?

最佳答案

一般来说,gems 是一种更强大且受支持的向您的应用程序添加功能的方式。网络上有一个完整的基础设施,并内置于 Rails 中,可以与插件不存在的 gem 一起工作。

例如,如果您使用 gem,您将获得处理 gem 的整套 Rake 任务。

在您的项目根目录中,运行...

$ rake -T gem

(in /Users/username/project/someproject)
rake gems                      # List the gems that this rails application depends on
rake gems:build                # Build any native extensions for unpacked gems
rake gems:build:force          # Force the build of all gems
rake gems:install              # Installs all required gems.
rake gems:refresh_specs        # Regenerate gem specifications in correct format.
rake gems:unpack               # Unpacks all required gems into vendor/gems.
rake gems:unpack:dependencies  # Unpacks all required gems and their dependencies into vendor/gems.
rake rails:freeze:gems         # Lock this application to the current gems (by unpacking them into vendor/rails)

您还可以在 environment.rb 中指定 gem 依赖项文件。这使您能够自动安装它们...
$ rake gems install

gems 相对于插件的另一个优势是,在系统级别您拥有 gem用于维护 gems 的实用程序,使事情变得更容易。

if it is as a gem ...when i put the app on the clients server..will I not have to get this plugin again?



您可以将 gems“卡住”到您的应用程序中并将它们部署为应用程序的一部分,而无需在系统上安装它们。如果这样做,除非您想将其升级到更新版本,否则您将不必再次获取 gem 或插件。

关于ruby-on-rails - 在 Rails 中,我应该安装为 gem 还是插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2467035/

相关文章:

jquery - Rails Jquery 计算表中选定复选框的总计

ruby-on-rails - 在 rails 中测试签名的 cookie

ruby-on-rails - Rails 如何在下午 4 点(在不同区域)提前 2 天设置日期和时间(Rails,Rspec)

php - 确定插件中的 Joomla 版本

python - 使用 python/beautiful soup 从网站上抓取链接作为 Kodi 插件

javascript - 将浏览器中的选定区域抓取为图像

java - Minecraft Bukkit - 如何使用元素实体和掉落的方 block 实体作为射弹?

ruby-on-rails - 如何正确地重写模块混入的方法?

ruby-on-rails - 如何分离功能和登录 ruby​​ 方法

grails - 在Grails审核日志记录插件的onChange方法中,如何获得对拥有的可审核域对象的引用?