问题标签 [ruby-on-rails-5.1]

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 回答
290 浏览

ruby-on-rails - Rails:工人失败并增加内存使用量

在我的 Rails 应用程序中使用SidekiqAlgoliasearch时,我遇到了一个奇怪的问题。

每当我启动 sidekiq 时,它都会自动执行我使用 Algoliasearch 配置的所有操作:

日志:

我不知道这种行为是否是有意的,因为 algolia 似乎只是试图索引 id 为 1 的记录。据我了解,它应该只在创建、删除或更新记录后才索引。

工人失败后重新开始,所以我积累了很多内存。LoadError在某些情况下,即使我的所有类和命名空间都已正确命名,我也会得到一个。

我不知道问题出在 Algolia 还是 Sidekiq。

0 投票
1 回答
671 浏览

ruby-on-rails - Rails 5:ActiveRecord 使用 OR 条件查询连接表中的最后一个对象

我需要一些帮助来查询这里(Rails 5.1)。我有一个名为Verification( belongs_to :verifiable, polymorphic: true) 的多态关联对象。其他对象,如Comment,可以有verifications( has_many :verifications, as: :verifiable),最后一个(按 排序id)被认为是当前的。Verification有一个枚举属性status。我需要检索具有特定user_id(当前用户)或当前(即最后一个)验证对象且状态正确(例如,approved)的评论。

所以,我正在尝试:

但是 Rails 给了我以下错误:

我该怎么办?

0 投票
2 回答
1870 浏览

ruby-on-rails - 如何为 db:environment:set 定义环境?

我正在尝试将我的数据库环境设置为,staging但出现此错误:

我已经有一个条目database.yml

但这显然还不够好。我应该在哪里定义staging

0 投票
0 回答
1319 浏览

ruby-on-rails - 如何使用设计辅助方法

我正在尝试为我的客户端构建一个 Rails 服务器,同时实现设计控制器,并且面临很多问题。

  1. 用于Warden.authenticate(resource_name)!记录目的时,我得到“401未经授权”,但我可以通过设备的sign_in方法正确注册。

  2. 在通过登录后尝试使用辅助方法时,auth_token我得到所有辅助方法的 nil 和默认值。

版本:

  • 导轨 v5.0.2
  • 红宝石 v2.2.3
  • 设计 v4.2.0

应用控制器:

用户控制器:

路线.rb:

会话控制器:

设计配置:

0 投票
2 回答
646 浏览

ruby-on-rails - 在 Rails 5.1.0 上生成模型时,公寓 gem 出现意外错误

我是 Rails 平台的新手。我正在使用Apartment gem构建一个多租户应用程序。我正在关注https://medium.com/@balogic/using-apartment-gem-to-implement-multitenant-concept-in-rails-b86f7d9e37c5这个指南来学习如何使用这个 gem。但是当我搭建脚手架或生成用户模型时,我收到以下错误:

$ rails g scaffold Users email name subdomain C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/actionpack-5.1.0/lib/action _dispatch/middleware/stack.rb:35:in `build': undefined method `new' for "Apartme nt::Elevators::Subdomain":String (NoMethodError) Did you mean? next from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/actionpack-5.1 .0/lib/action_dispatch/middleware/stack.rb:99:in `block in build' from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/actionpack-5.1 .0/lib/action_dispatch/middleware/stack.rb:99:in `each' from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/actionpack-5.1 .0/lib/action_dispatch/middleware/stack.rb:99:in `inject' from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/actionpack-5.1 .0/lib/action_dispatch/middleware/stack.rb:99:in `build' from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.1.0 /lib/rails/engine.rb:508:in `block in app' from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.1.0 /lib/rails/engine.rb:504:in `synchronize' from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.1.0 /lib/rails/engine.rb:504:in `app' from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.1.0 /lib/rails/application/finisher.rb:45:in `block in <module:Finisher>' from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.1.0 /lib/rails/initializable.rb:30:in `instance_exec' from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.1.0 /lib/rails/initializable.rb:30:in `run' from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.1.0 /lib/rails/initializable.rb:59:in `block in run_initializers' from C:/RailsInstaller/Ruby2.3.0/lib/ruby/2.3.0/tsort.rb:228:in `block i n tsort_each' from C:/RailsInstaller/Ruby2.3.0/lib/ruby/2.3.0/tsort.rb:350:in `block ( 2 levels) in each_strongly_connected_component' from C:/RailsInstaller/Ruby2.3.0/lib/ruby/2.3.0/tsort.rb:431:in `each_st rongly_connected_component_from' from C:/RailsInstaller/Ruby2.3.0/lib/ruby/2.3.0/tsort.rb:349:in `block i n each_strongly_connected_component' from C:/RailsInstaller/Ruby2.3.0/lib/ruby/2.3.0/tsort.rb:347:in `each' from C:/RailsInstaller/Ruby2.3.0/lib/ruby/2.3.0/tsort.rb:347:in `call' from C:/RailsInstaller/Ruby2.3.0/lib/ruby/2.3.0/tsort.rb:347:in `each_st rongly_connected_component' from C:/RailsInstaller/Ruby2.3.0/lib/ruby/2.3.0/tsort.rb:226:in `tsort_e ach' from C:/RailsInstaller/Ruby2.3.0/lib/ruby/2.3.0/tsort.rb:205:in `tsort_e ach' from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.1.0 /lib/rails/initializable.rb:58:in `run_initializers' from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.1.0 /lib/rails/application.rb:353:in `initialize!' from C:/Sites/multitenant_app/config/environment.rb:5:in `<top (required )>' from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.1.0 /lib/rails/application.rb:329:in `require' from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.1.0 /lib/rails/application.rb:329:in `require_environment!' from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.1.0 /lib/rails/command/actions.rb:16:in `require_application_and_environment!' from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.1.0 /lib/rails/commands/generate/generate_command.rb:19:in `perform' from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/thor-0.19.4/li b/thor/command.rb:27:in `run' from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/thor-0.19.4/li b/thor/invocation.rb:126:in `invoke_command' from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/thor-0.19.4/li b/thor.rb:369:in `dispatch' from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.1.0 /lib/rails/command/base.rb:63:in `perform' from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.1.0 /lib/rails/command.rb:44:in `invoke' from C:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.1.0 /lib/rails/commands.rb:16:in `<top (required)>' from bin/rails:4:in `require' from bin/rails:4:in `<main>'

**注意:** 我的 Rails 版本是 5.0.1,Ruby 版本是 2.3.0

0 投票
1 回答
617 浏览

ruby-on-rails - Rails 5.1.0rc1 到 5.1.0 迁移缺少兼容的 actionpack

我一直在尝试将我的 Rails 应用程序从 5.1.0rc1 迁移到 5.1.0。

这是我的宝石文件:

这是我从捆绑安装中得到的:

有什么问题?

如果有帮助(但我对此表示怀疑),我会在 Docker 容器上工作。我已删除Gemfile.lock以避免冲突。

0 投票
1 回答
1470 浏览

ruby-on-rails - Rails 5.1.0 如何升级

Rails 5.1.0 引入了 bigint 主键和外键。

所有新表都将具有 bigint pk,并且创建到旧表的引用迁移将不起作用,因为旧 pk 是正常的 int。

仅使用change_column _, :id,:bigint带有外键的错误就是指向它,更不用说查找所有表以及需要修改哪个键的所有手工劳动。

如何迁移生产数据库中的所有表以使用 bigint pk 和 fk?

当然,因为它的生产rails db:drop rails db:setup不是一种选择。

0 投票
1 回答
485 浏览

ruby-on-rails - Rails 和 RSpec:ActionController::UnknownFormat 错误

我一直在尝试使用带有 Rails 的 RSpec 测试 Paperclip 文件上传。

当我运行服务器时,我没有任何问题,但是当我运行我的(非常基本的)RSpec 测试时,我收到以下错误:

这是我的测试:

这是我对haml的看法:

这是我的照片模型:

我在测试中遇到了 NoMethodError 的一些问题,说它has_attached_file无法识别,但是在广泛使用谷歌搜索之后,我发现有人通过将 paperclip.rb 文件添加到 config/initializers 并使用以下内容很幸运:

知道为什么我可能会遇到这个问题,以及如何克服它吗?

0 投票
1 回答
3642 浏览

javascript - 将数据从 Rails 视图传递到 webpacker 中的 VueJS 组件

我正在尝试使用 Rails 5.1 的新 webpacker gem 以及 VueJS,但无法让我的 erb 视图将数据传递给 VueJS 组件......

假设我有一个用户显示视图

还有我的 javascript:

到目前为止,我已经为此花费了几个小时,但我的任何尝试都没有被证明是成功的。我尝试将数据作为 prop: 传递给组件 props: ['username'],使用

...但这也不起作用

更新:我在组件中丢失props: ['username']并相应地更新了上面的代码,尽管这似乎没有什么不同。还是没有运气!

0 投票
1 回答
3128 浏览

ruby-on-rails - Rails 5.1 + Webpack .... CSS 中的图像?

我试图弄清楚如何将该--webpack方法用于一个非常简单的 Rails 5.1 应用程序。

我正在尝试使用它来管理 JS 和 CSS(scss特别是)。

不过,这非常令人沮丧,因为即使是最基本的东西,我也找不到任何文档。

如何从我的 css 文件中链接图像?

像这样:background-image: asset-url('header.jpg')