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

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 投票
4 回答
17861 浏览

ruby-on-rails - 将 ActionController::Parameters 与 rails 5 合并

在 Rails 4 中,我可以合并!StrongParams,但自从 rails 5 (beta1) 合并!不可用。这是在控制器中执行此操作的最佳方法

0 投票
1 回答
3143 浏览

ruby-on-rails - 使用 SSL 在 Nginx 后面的 Rails 5 中的 InvalidAuthenticityToken

Rails 5 (beta1) 有一个非常奇怪的问题,它阻止我安全地提交任何表单。

在解密 SSL 的 Nginx(Ubuntu 12.04 上的 1.4.6)反向代理后面以生产模式运行时,Rails 拒绝我的 CSRF 令牌,称它们无效,尽管表单提交了正确的令牌。

当我在 Nginx 中关闭 SSL 时,一切正常。

任何帮助,将不胜感激。

0 投票
1 回答
9657 浏览

nginx - 带有 puma 的 Rails 5 ActionCable 的 NGINX 配置

我将 Jelastic 用于我的开发环境(尚未投入生产)。我的应用程序使用 Unicorn 运行,但我发现了带有 ActionCable 的 websockets 并将其集成到我的应用程序中。

在本地一切正常,但是在部署到我的 Jelastic 环境(使用默认 NGINX/Unicorn 配置)时,我在我的 javascript 控制台中收到此消息,并且在我的访问日志中看不到任何内容

我曾经在我的本地环境中使用过,我通过在我的配置文件中添加所需的 ActionCable.server.config.allowed_request_origins 来解决它。所以我仔细检查了我的开发配置,没关系。

这就是为什么我想知道是否有针对 NGINX 配置的特定内容,而不是 ActionCable git 页面上解释的内容

对于我的应用程序,我遵循了此处输入链接描述中的所有内容,但没有提及 NGINX 配置

我知道带有 ActionCable 的 websocket 是相当新的,但我希望有人能够在这方面给我一个领导

非常感谢

0 投票
2 回答
268 浏览

ruby-on-rails - Rails 集成测试中的多个用户

我正在寻找如何为需要 2 个用户的流程进行集成,在该流程中您无法按顺序跳转。

为此,测试代码以随机顺序执行;我无法编写一系列测试,例如:test "user A does 1" do ... end并期望它们按顺序执行

那么,应该如何针对上述情况编写集成测试呢?

请记住,Rails 5 中可能会删除控制器测试。

在 rails 问题中发现了这一点:

0 投票
1 回答
28948 浏览

ruby-on-rails - ":nothing" 选项已弃用,将在 Rails 5.1 中删除

rails 5中的此代码

导致以下弃用警告

我该如何解决?

0 投票
1 回答
91 浏览

ruby-on-rails - 如何正确保护 Rails 控制器中的 SQL 注入

我有一个控制器,我想知道 Rails 是否已经解析了参数并阻止了 SQL 注入。这是我的控制器的样子:

这是安全的吗?

0 投票
2 回答
696 浏览

ruby-on-rails - 从 rails 4 升级后 users_controller_test 出错

我用 rails 4.x 浏览了mhartls 的rails 教程几次,只是为了好玩,我重新开始,但更新到 rails 5.0.0.beta1。在第 9 章之前,我已经设法解决了所有不兼容问题。具体来说,我无法让用户控制器上的销毁操作测试正常工作。我得到:

我的控制器销毁动作:

我的测试:

链接确实有效,但测试失败。我可以通过添加这样的路由来通过delete 'delete_user' => 'users#destroy'测试:并将测试更改为:delete delete_user_path params:{id: @user}但是,实际站点和测试使用不同的路由,所以我不知道我是否可以相信这一点。如果我从用户中删除破坏,resources: resources :users, except: :destroy则页面链接不起作用,但测试仍然通过。我看不到如何在页面链接上使用 delete_user 路由,并且似乎无法让 user#destroy 路由在测试中工作。我知道这不是集成测试,但此解决方法解决了其他几个问题。我稍后会重构,这样才有意义。

其他相关控制器代码:

宝石文件:

0 投票
2 回答
916 浏览

ruby-on-rails - 如何从rails插件加载javascript文件

我正在尝试创建一个插件,该插件应该公开一个 javascript 文件,但我无法将其加载到我的 rails 5 应用程序中。

在我的 gem 中,我尝试将我的 javascript 文件添加my_gem.js

  • vendor/assets/javascripts
  • app/assets/javascripts
  • lib/<gem-name>/assets/javascripts

但它们都不起作用。我只是在我的文件中加载文件时收到此错误消息application.js

这就是我将插件/gem 加载到我的 rails 项目中的方式

0 投票
1 回答
245 浏览

mysql - Rails 5.0.0.beta1,两个数据库设置创建了额外的 active_record_internal_metadatas 表

我正在尝试在rails 5.0.0.beta1. 一切似乎都很好,但我遇到了一些奇怪的事情。模型连接到指定的数据库,关联工作,迁移(经过一些调整)也工作正常。active_record_internal_metadatas运行迁移后,两个数据库中都会出现一个名为 的附加表。当我在上面测试这个设置时rails 4.2.5,没有这样的东西。有人可以阐明这个问题吗?

双数据库设置的设置:

  • database.yml

    /li>
  • second_db_connection.rb- 处理与第二个数据库的连接的模型。应该在第二个数据库中的所有模型都必须继承自该模型。

    /li>
  • application_controller.rb- 缓存第二个数据库的连接

    /li>
  • db.rake- 覆盖迁移任务

    /li>
0 投票
1 回答
3159 浏览

ruby-on-rails - ActionCable 频道在 Rails 插件之外无法访问

我正在尝试创建一个公开 ActionCable 频道的 gem,但我无法让它工作。

这是我的宝石

然后我将 gem 添加到我的主要应用程序Gemfile中,运行bundle install,启动控制台并运行MyChannel。这不会产生和错误,这意味着该通道已正确包含。

然后我将它添加到我的主应用程序中

但我收到了这个错误

我错过了什么?