问题标签 [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.
ruby-on-rails - Rails:工人失败并增加内存使用量
在我的 Rails 应用程序中使用Sidekiq和Algoliasearch时,我遇到了一个奇怪的问题。
每当我启动 sidekiq 时,它都会自动执行我使用 Algoliasearch 配置的所有操作:
日志:
我不知道这种行为是否是有意的,因为 algolia 似乎只是试图索引 id 为 1 的记录。据我了解,它应该只在创建、删除或更新记录后才索引。
工人失败后重新开始,所以我积累了很多内存。LoadError
在某些情况下,即使我的所有类和命名空间都已正确命名,我也会得到一个。
我不知道问题出在 Algolia 还是 Sidekiq。
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 给了我以下错误:
我该怎么办?
ruby-on-rails - 如何为 db:environment:set 定义环境?
我正在尝试将我的数据库环境设置为,staging
但出现此错误:
我已经有一个条目database.yml
:
但这显然还不够好。我应该在哪里定义staging
?
ruby-on-rails - 如何使用设计辅助方法
我正在尝试为我的客户端构建一个 Rails 服务器,同时实现设计控制器,并且面临很多问题。
用于
Warden.authenticate(resource_name)!
记录目的时,我得到“401未经授权”,但我可以通过设备的sign_in
方法正确注册。在通过登录后尝试使用辅助方法时,
auth_token
我得到所有辅助方法的 nil 和默认值。
版本:
- 导轨 v5.0.2
- 红宝石 v2.2.3
- 设计 v4.2.0
应用控制器:
用户控制器:
路线.rb:
会话控制器:
设计配置:
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
ruby-on-rails - Rails 5.1.0rc1 到 5.1.0 迁移缺少兼容的 actionpack
我一直在尝试将我的 Rails 应用程序从 5.1.0rc1 迁移到 5.1.0。
这是我的宝石文件:
这是我从捆绑安装中得到的:
有什么问题?
如果有帮助(但我对此表示怀疑),我会在 Docker 容器上工作。我已删除Gemfile.lock
以避免冲突。
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
不是一种选择。
ruby-on-rails - Rails 和 RSpec:ActionController::UnknownFormat 错误
我一直在尝试使用带有 Rails 的 RSpec 测试 Paperclip 文件上传。
当我运行服务器时,我没有任何问题,但是当我运行我的(非常基本的)RSpec 测试时,我收到以下错误:
这是我的测试:
这是我对haml的看法:
这是我的照片模型:
我在测试中遇到了 NoMethodError 的一些问题,说它has_attached_file
无法识别,但是在广泛使用谷歌搜索之后,我发现有人通过将 paperclip.rb 文件添加到 config/initializers 并使用以下内容很幸运:
知道为什么我可能会遇到这个问题,以及如何克服它吗?
javascript - 将数据从 Rails 视图传递到 webpacker 中的 VueJS 组件
我正在尝试使用 Rails 5.1 的新 webpacker gem 以及 VueJS,但无法让我的 erb 视图将数据传递给 VueJS 组件......
假设我有一个用户显示视图
还有我的 javascript:
到目前为止,我已经为此花费了几个小时,但我的任何尝试都没有被证明是成功的。我尝试将数据作为 prop: 传递给组件
props: ['username']
,使用
...但这也不起作用
更新:我在组件中丢失props: ['username']
并相应地更新了上面的代码,尽管这似乎没有什么不同。还是没有运气!
ruby-on-rails - Rails 5.1 + Webpack .... CSS 中的图像?
我试图弄清楚如何将该--webpack
方法用于一个非常简单的 Rails 5.1 应用程序。
我正在尝试使用它来管理 JS 和 CSS(scss
特别是)。
不过,这非常令人沮丧,因为即使是最基本的东西,我也找不到任何文档。
如何从我的 css 文件中链接图像?
像这样:background-image: asset-url('header.jpg')