Rails Engine - Gems 依赖项,如何将它们加载到应用程序中?

2024-01-11

我在这里做一个引擎,它独立工作正常。

当我将其转换为 gem 并将其加载到另一个应用程序中时,我收到许多未定义的错误,这些错误来自我的引擎 gem 的依赖项。

这是宝石规格:

s.add_dependency('paperclip')
s.add_dependency('jquery-rails')
s.add_dependency('rails3-jquery-autocomplete')
s.add_dependency('remotipart')
s.add_dependency('cancan')

在应用程序中,当我进行捆绑安装时,它会列出所有这些依赖项,但当我运行应用程序时,我收到许多未定义的方法错误(例如来自回形针的 has_attachment )。该应用程序似乎没有加载引擎依赖项。 这是默认行为吗?我可以改变它吗? 引擎内的插件也发生了同样的事情。

如果我手动插入这些 gem,在应用程序 Gemfile 中,一切正常......


将它们包含在您的 gemfile 中并运行捆绑安装。然后要求他们在你的lib/<your_engine>/engine.rb file。不要忘记需要 ruby​​gems

  require 'rubygems'
  require 'paperclip'
  require 'jquery-rails'
  require 'rails3-jquery-autocomplete'
  require 'remotipart'
  require 'cancan'

然后在你的主机应用程序(包含 gem 的应用程序)中运行捆绑安装/捆绑更新(捆绑更新对我来说很有效),然后一切都应该完美运行。您还可以通过在主机应用程序中启动控制台并输入模块名称来测试这一点,例如

Loading development environment (Rails 3.0.3)
irb(main):001:0> Paperclip
=> Paperclip

希望这可以帮助

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails Engine - Gems 依赖项,如何将它们加载到应用程序中? 的相关文章

  • Rails 中的 ActionController::RoutingError (没有路由匹配 [GET] "/favicon.ico")

    我尝试过使用 还有这个 但我仍然在日志文件中看到此错误 ActionController RoutingError No route matches GET favicon ico favicon ico 位于 public 文件夹中 我也
  • 设计和自定义 Rails 用户 URL

    我目前正在使用 Rails 3 2 5 和最新的 devise gem 目前用户可以访问他们的个人资料页面 example com users john doe 我想删除网址的用户部分 因此网址将是example com john doe
  • Rails 3:用户创建自定义表单?

    我正在尝试思考如何允许用户创建具有所有字段类型的自定义表单 如果有一颗宝石那就太好了 但我似乎无法在任何地方找到它 所以我有一个像这样的数据库设置 t integer form id t string name t string hint
  • $ bundle exec rake db:reset 命令提升无法删除 db/development.sqlite3

    我试着跑 bundle exec rake db reset并在控制台上发现以下内容 Couldn t drop db development sqlite3
  • 如何将对象从 rake 任务传递给 Rabl 视图

    我正在尝试使用 rabl 从 rake 任务创建 json 文件 下面我有一个简化版本来测试 当我通过 url 查看 articles json 或 articles 2 json 时 我得到了预期的 json 响应 但是当我尝试通过 ra
  • 获取python中的排列总数

    好吧 我已经编写了一个函数 方法 其中我在某个 if 条件大多数失败后执行一些操作 但只有 1 2 次它会为真 这是我的代码 def solve current level self self remaining possibilities
  • 需要 gem 是否会加载所有内容,包括我不使用的东西?

    Assume x是一颗宝石 包含两者Hello and Goodbye类 如果我写一个程序require x 但仅使用Hello班级 是个Goodbye类也加载了吗 您包含脚本或文件 而不是 gem With require x 你加载文件
  • Ruby/Rails - 访问“查找”表而不对其进行建模?

    这是针对 Ruby on Rails 3 0 x 项目的 我有一个 查找 表 其中包含来自供应商的数据 当我从其他来源导入数据时 我想检查此表 加入 SKU 以获取额外数据 在我的应用程序中为该表创建模型对我来说似乎不合适 我的应用程序永远
  • Rails 引擎 - 简单的可能引擎(1)添加模型并(2)在包含类中添加关联

    我正在尝试编写我的第一个引擎 但在以下场景中遇到问题 在主机应用程序中 我将拥有具有名称的用户模型 这是保证的 因此在引擎中我可以引用用户类而不是某种程度的间接 在引擎中 我将有一个帖子模型 并且需要在帖子模型和包含应用程序中的用户模型之间
  • 关于 serviceloader 的 Java 9 依赖问题

    我有一个关于Java 9中的serviceloader如何根据这种情况进行更改的问题 Scenario Project gert Class Main package gert import java io ByteArrayInputSt
  • pg gem Trace/BPT 陷阱:MAC OS X lion 上出现 5 错误

    我最近将我的雪豹升级为狮子 在我的一个应用程序中我得到了 gt Booting WEBrick gt Rails 3 0 4 application starting in development on http 0 0 0 0 4000
  • Rails 3:f.select - options_for_select

    我的 Ruby on Rails 应用程序上有一个带有下拉菜单的表单 这是我当前的选择选项代码 根据我的理解 当有人打开页面时 这应该将 选择一个 作为默认选项 但如果他们不选择其他选项之一 那么当他们点击提交时会显示错误 在 Safari
  • Rails:如何重新启动 sidekiq?

    我正在使用 sidekiq gem 在后台运行 API 调用 我在守护进程中运行 sidekiq 如下所示 bundle exec sidekiq d 现在我对我的方法做了一些更改 所以我想重新启动 sidekiq 我尝试使用以下命令杀死
  • 如何停止 Heroku 服务器?

    我有一个托管在 heroku 上的临时服务器 我只想将其关闭 但不想破坏该应用程序 我该怎么做 我是否有类似 heroku stop 之类的命令 例如 heroku restart 来重新启动 OR 有没有办法让服务器在超过 750 小时免
  • Ruby:邮件 gem 在邮件中的 60 个字符后添加 \r\n

    我要移植Actionmailer x509 https github com petRUShka actionmailer x509到 Rails 3 为了做到这一点 我尝试从带有签名电子邮件的大字符串创建 Mail 对象 您可以在这一行看
  • 部署到 Heroku 时出现“rake 中止!堆栈级别太深”

    我的网站曾经运行正常 Heroku 预编译了资产和所有内容 现在 似乎不知从何而来 我开始在部署时收到此消息 Preparing app for Rails asset pipeline Running rake assets precom
  • Rails 4 - 如何在活动记录查询中为includes()和joins()指定别名

    我如何给出别名 例如includes 给出如下 用户 活动记录模型 Student 活动记录模型 继承自User STI Teacher 活动记录模型 继承自User STI 项目 活动记录模型 这里有一些例子 第一个案例 更多性传播感染协
  • Rails 轮胎 Elasticsearch 奇怪的错误

    我已经索引了Car拥有一辆车记录的车型mercedes benz在数据库中 如果我搜索这个词benz我收到错误 ActiveRecord RecordNotFound in CarsController index Couldn t fin
  • 如何在 Heroku 上使用 rdiscount?

    我正在尝试将一个小型测试应用程序推送到 Heroku 这是应用程序和 Gem 文件 App require sinatra require haml require rdiscount set markdown layout engine
  • 设计对多个并发会话的支持

    我使用 Rails 3 2 11 和 Devise 2 2 3 作为订阅服务应用程序 我从另一位不再可用的开发人员那里继承了该应用程序 我是 Rails 和 Devise 的新手 我想要允许单个用户 电子邮件 拥有多个会话到同一个应用程序

随机推荐