问题标签 [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.
actioncable - 当网络连接在行动电缆中丢失时,从服务器取消订阅客户端
我已经使用 Rails 5.1.1 和 Ruby 2.3.1 实现了动作电缆。一切正常,但是当客户端失去网络连接时,客户端会调用断开连接的方法,但服务器将如何识别客户端丢失的连接。当客户端失去连接时,有什么方法可以得到确认?
我想在客户端失去连接时实现简单的事情,然后我想在服务器上调用取消订阅的方法。
ruby-on-rails - Rails 查询接口在 Rails 5.1 中没有与 API 选项建立一些关联
我已经开始将旧应用程序转移到新的 Rails 应用程序。首先,我使用 Rails 5.0 创建了它,使用了我在生产中使用的相同数据库。
我的一个联想是:
如果我进行如下查询:
我将获得我想要的信息,它会生成以下 SQL:
如您所见,一切运行良好,但由于某些原因,我决定创建一个启用 Rails 5.1 和 API 选项的新应用程序。
现在,当我运行相同的查询时,会生成以下 SQL:
而这个并没有带来预期的结果,因为这'conta_cooperado' . 'conta_cooperado' = NULL
部分是错误的。
我不知道发生这种情况是因为我使用的是 Rails 5.1 而不是 5.0,还是因为我使用的是 api 模式。
更新:
我刚刚将我的 Rails 5.0 应用程序升级到 5.1 版本,如果在升级之前一切正常,那么我现在遇到了同样的问题。所以,这种情况只发生在 5.1 版本的 Rails 上。这个版本有bug吗?
javascript - ActiveAdmin 可以加载 webpack 捆绑的 javascript 吗?- 导轨 5.1
我已经从 rails 4.2.6 升级到 rails 5.1,然后开始使用 webpack。
使用 webpack 的所有设置都已完成,但我不知道如何在 ActiveAdmin 页面上加载 javascript 文件。
ActiveAdminapp/assets/javascripts/active_admin.js.coffee
默认加载。
有没有办法在 ActiveAdmin 页面上加载 webpack 捆绑的 javascript 文件?
email - 重置密码时,Rails 5.1 宽度设计在 Heroku 上使用 Sendgrid 给出 401
我正在构建一个新的 Rails 5.1 应用程序 使用 Devise 处理授权 我正在使用 sendgrid 进行邮件传递 我制作了一个普通的邮件程序来测试我的配置,它在开发和生产中都按预期工作,所以我假设电子邮件配置没问题.
当我提交 reset_password 表单时,没有发送电子邮件,从控制台我得到了这个
Started POST "/da/users/sign_in" for 127.0.0.1 at 2017-06-30 08:32:01 +0200
Processing by Devise::SessionsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"0rR2m6lffy0/eExucO0tv/7Rj1mg6rtEDoL7U6EI4jSwXg8LPoGhPRf+0iVs8Ug3Vu2X+3VNyISzcFjjFHgDAQ==", "user"=>{"email"=>"max@synthmax.dk"}, "commit"=>"Send reset password link", "locale"=>"da"}
Completed 401 Unauthorized in 2ms (ActiveRecord: 0.0ms)
我注意到的一件事是 rails 5.1 mailer 继承自ApplicationMailer
但 devise 继承自ActionMailer::Base
我尝试使用 configure/initializers/devise.rb 配置 devisie
config.parent_mailer = 'ApplicationMailer'
并重新启动应用程序而没有任何效果
我已将项目上传到 github https://github.com/maxgronlund/samso
prawn - 如何在 ruby 中将 Multipage pdf 文件拆分为多个 pdf 文件
我想知道是否有任何 ruby gem 或脚本可以将多页 pdf 文件转换为 ruby 中每页的单个 pdf 文件。我尝试使用 gems pdf-reader 和 prawn 但无法解决问题。我们将衷心感谢您的帮助。谢谢你。
ruby-on-rails - Rails 5 未在 production.rb 中加载加密的秘密
我有一个项目配置为使用 Rails 加密的机密。一切正常,直到我尝试访问production.rb
环境文件中的秘密。
我发现如果我尝试访问类似Rails.application.secrets.smtp_user_name
配置块中的内容,它会清除所有加密的秘密(我只剩下secrets.yml
......我没有使用的东西)。例子:
如果我删除了访问机密的尝试,它可以正常工作:
我目前正在通过使用以下两个配置块来解决它production.rb
:
还有其他人面临这个问题并且可能有更正确的方法来解决它吗?
为什么会发生这种情况是有道理的(Rails 不知道加载加密的秘密,因为我们没有告诉你),但我认为必须有更好的方法来处理它。
更新
这让我在 9 个月后再次陷入困境。需要明确的是,如果您Rails.application.secrets
在调用之前引用,config.read_encrypted_secrets = true
您将缓存空秘密,并且无法访问secrets.yml.enc
!
在我的情况下,我曾尝试在application.rb
我config.read_encrypted_secrets = true
的设置中配置 Paperclip S3 凭据production.rb
。结果是devise.rb
试图读取密钥库的秘密,这一切都是因为application.rb
我有效地缓存了 nil 秘密。
ruby-on-rails - Rails 5.1系统测试中如何更改截图路径
使用 Rails 5.1.2 创建系统测试并使用 take_screenshot 方法。
如何更改创建这些屏幕截图的位置?
ruby-on-rails - 系统测试 VS 集成测试 Rails 5.1?
在升级到 rails 5.1 之前,我通过集成测试测试了我的 rails 应用程序。我 70% 的 Rails 应用程序是通过集成测试自动化的。意味着所有应用程序简单和复杂的行为都通过集成测试自动化。Off-course rails 没有提供任何基于 java 脚本的测试。
随着 Rails 5.1 的到来,他们包括系统测试,并表示每个应用程序都与 java-script 交互,现在您可以测试您的应用程序端到端场景,就像真实用户与浏览器交互一样。所以我的经理要求我将所有集成测试转移到系统测试中。好的好的!我们可以以用户体验的方式测试我们的应用程序,并帮助我们测试 JavaScript。
当然,系统测试也可以涵盖几乎所有的集成测试。那么现在集成测试的重要性是什么?
当他可以在系统测试中编写相同的测试用例时,为什么还要在 Rails 5.1 中编写集成测试?
提前致谢。
ruby-on-rails - Ruby on Rails 应用程序的动态页面中未加载图像
我已经为我的 rails 项目完成了资产管道,并且一切正常,除了在动态帖子页面上,例如http://localhost:3000/posts/2,图像不加载。在其他任何地方都可以正常工作。
在控制台中,我收到此错误:
ActionController::RoutingError (没有路由匹配 [GET] "/posts/assets/logo.png")
但是我src="assets/m1.jpg
在图像标签中使用了但在控制台错误中链接不同!
我错过了什么?
ruby-on-rails - 在 ruby on rails 的 image_tag 助手中使用多个类
如何image_tag
在 Rails 5 应用程序中将多个类传递给助手?我想转换这个 HTML<img>
标签:
进入
使用 Railsimage_tag
助手。我该如何做到这一点?