问题标签 [rails-spring]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
348 浏览

ruby-on-rails - Rails spring wisper监听器方法缓存

事实证明,Spring 缓存了我的 wisper 侦听器方法(我正在编写非常简单的引擎)。

例子:

应用程序/模型/myengine/my_class.rb

配置/初始化程序/wisper.rb

app/observers/myengine/my_observer.rb

通过春季重启,我的意思是手动执行spring stop命令,这真的很烦人。

更神秘的是,我可能会将another_method返回值更改为 false,然后测试失败,这没关系,但是当我更改after_something方法主体以说它return false对测试没有任何影响时(就像以after_something某种方式缓存的主体)。

这不是高优先级问题,因为这种奇怪的行为仅在侦听器方法体内可见,并且通过将所有逻辑移动到类中的另一个方法很容易克服。无论如何,它可能会令人困惑(尤其是在我不知道确切问题的开始时)。

0 投票
1 回答
1247 浏览

ruby-on-rails - Dockerized Rails 5 RC1 应用程序未获取开发中控制器和模型的更新

我有相当多的在 Mac OS X + Docker Machine + Docker Compose 上开发 Rails 4 应用程序的经验,但是随着 Rails 5 在开发环境中缓存文件的方式发生了一些变化(目前正在使用 RC1 进行测试)。

使用 启动应用程序后docker-compose up,应用程序在开发模式下正常运行。

但是,如果我对控制器或模型进行更改,我可以在应用程序中得到反映的唯一方法是停止服务器并重新启动它。

所以现在当我需要对控制器或模型进行更改时,我的工作流程看起来像这样:

  1. 更改控制器/模型类。
  2. 停止服务器Ctrl + C
  3. 使用 启动服务器备份docker-compose up
  4. 等待服务器启动。
  5. 运行我在浏览器中运行的任何内容。

至少可以说,需要执行步骤 2-4 很烦人,而不是我在 Rails 4 中所习惯的。

我更进一步,使用Removal instructions卸载了 Spring ,但我仍然得到相同的行为。

我还搜索了config/environments/development.rb与 Rails 运行时对模型和控制器类的控制相关的任何设置,但我找不到任何东西。(我假设它真的想依靠观察文件系统来选择性地加载更改,并且没有从 Mac 上的更改中获取到 VirtualBox 的某些内容。)

关于我可以尝试什么的任何其他想法?或者是否有任何与这种更激进的缓存如何工作相关的新设置?

0 投票
0 回答
192 浏览

ruby-on-rails - Rails spring testunit 错误的文件描述符

我正在尝试将 spring 1.4.0 与 rails 3.2.22/ruby 2.2.5 一起使用,并执行以下操作:

bundle exec spring testunit <test_file.rb>

输出这个:

/Users/igor/.rbenv/versions/2.2.5/gemsets/<app>/gems/spring-1.4.0/lib/spring/application/boot.rb:7:in 'for_fd': Bad file descriptor - not a socket file descriptor (Errno::EBADF) from /Users/igor/.rbenv/versions/2.2.5/gemsets/<app>/gems/spring-1.4.0/lib/spring/application/boot.rb:7:in '<top (required)>' from -e:1:in 'require' from -e:1:in '<main>'

从我在 Spring 源代码中收集的内容来看,错误指令是UNIXSocket.for_fd(3),它应该是第一个可用的文件句柄,那么为什么它被捕获为Bad file descriptor

任何帮助将不胜感激,谢谢!

0 投票
6 回答
7518 浏览

ruby-on-rails - Spring和中间件冲突?

我正在尝试按照这些说明向 Google 添加 oauth2 。

我在启动服务器时收到以下错误消息:

安装的相关宝石:

以下代码添加到config/initializers/omniauth.rb:

这里发生了什么?遵循错误说明不会改变任何东西(Spring 是最新版本 1.7.2 并且运行bundle exec spring binstub --all仅返回“spring 已经存在”)。

0 投票
1 回答
1410 浏览

ruby-on-rails - docker-compose Rails spring 不起作用

我用

  • Rail 4.2.5.1 在容器中运行
  • Ruby 2.3.1 运行机智容器

当我开始

我收到以下错误。

但是我已经把pqgem 放到了 Gemfile 中。我已经尝试过,

但是我没有运气。

当我尝试时,

它确实有效。所以我认为 spring gem 不能正常工作。此外,如果我在本地做同样的事情,它确实有效。

我认为我docker_compose.yml的设置不正确。有任何想法吗?

码头工人-compose.yml

0 投票
1 回答
133 浏览

ruby-on-rails - Rails Spring 配置类似于 Zeus 中的配置?

我在 Zeus 自定义计划中有类似的东西,我在其中运行一些 rake 任务:

宙斯配置:

我找到了这个链接:https ://github.com/rails/spring#configuration ,但我并不完全了解如何运行和停止我的自定义 rake 任务。

我尝试这样的事情:

这有效,但是当我停止 spring 时spring stopstripe-mock-server并没有关闭。

这是在春季运行和停止自定义耙子的一些聪明的解决方案吗?

谢谢

0 投票
1 回答
4994 浏览

ruby-on-rails - Spring停止Rails控制台运行

我最近将我的 Ruby 升级到 2.5.0。从那时起,我就无法正常运行 Rails 控制台。它要么无限期挂起,要么在几秒钟后向我显示此错误:

before_session hook failed: NoMethodError: undefined method `reject!' for nil:NilClass

完整错误:

如果 I DISABLE_SPRING,我可以按预期启动我的控制台。但是,(不确定这是否相关,如果不相关,我可以单独解决)如果发生任何错误,控制台“崩溃”并将我踢回终端:

对此的任何帮助将不胜感激。使用 rbenv 管理 Ruby,在其他版本的 Ruby 上没有这个错误。

0 投票
1 回答
239 浏览

ruby-on-rails - 使用spring时如何在Rails初始化程序中设置类级别变量?

在我的 config/initializers/transaction_logger.rb 我有以下代码

每次我更改代码并运行测试时,我都会得到:

我必须运行spring stop然后再次重新运行测试(似乎初始化程序的代码要在之后执行spring stop

我应该如何设置Transaction::Logger.logger才能避免这个问题?谢谢

0 投票
0 回答
58 浏览

ruby-on-rails - 为什么 User.count 返回 0,直到 bin/spring 在 Ruby on Rails 中重新启动?

我跑bundle exec rails c

它进入开发环境。

当我执行 User.count 时,我得到 0 条记录。

  1. 但是在我做bin/spring stopthen 之后bin/spring start,我看到 User.count 记录为 23782。为什么会这样?
  2. 春天在这里做什么?
  3. 它的作用和职责是什么?
  4. 我应该每次都这样做吗?
  5. 这个 Spring 和 Java Spring 一样吗?
0 投票
1 回答
51 浏览

ruby-on-rails - 我有 Bundler 2,但 Ruby/Rails 说不见了?

启动 localhost,我在终端中输入“rails s”。我收到此错误:

因此,我输入bundler --version以查看我在使用什么。结果是:

我查看了我的 Gemfile.lock,向下滚动,我看到:

到底是什么问题?