问题标签 [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.
ruby-on-rails - 将 ActionController::Parameters 与 rails 5 合并
在 Rails 4 中,我可以合并!StrongParams,但自从 rails 5 (beta1) 合并!不可用。这是在控制器中执行此操作的最佳方法
ruby-on-rails - 使用 SSL 在 Nginx 后面的 Rails 5 中的 InvalidAuthenticityToken
Rails 5 (beta1) 有一个非常奇怪的问题,它阻止我安全地提交任何表单。
在解密 SSL 的 Nginx(Ubuntu 12.04 上的 1.4.6)反向代理后面以生产模式运行时,Rails 拒绝我的 CSRF 令牌,称它们无效,尽管表单提交了正确的令牌。
当我在 Nginx 中关闭 SSL 时,一切正常。
任何帮助,将不胜感激。
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 是相当新的,但我希望有人能够在这方面给我一个领导
非常感谢
ruby-on-rails - Rails 集成测试中的多个用户
我正在寻找如何为需要 2 个用户的流程进行集成,在该流程中您无法按顺序跳转。
为此,测试代码以随机顺序执行;我无法编写一系列测试,例如:test "user A does 1" do ... end
并期望它们按顺序执行
那么,应该如何针对上述情况编写集成测试呢?
请记住,Rails 5 中可能会删除控制器测试。
在 rails 问题中发现了这一点:
ruby-on-rails - ":nothing" 选项已弃用,将在 Rails 5.1 中删除
rails 5中的此代码
导致以下弃用警告
我该如何解决?
ruby-on-rails - 如何正确保护 Rails 控制器中的 SQL 注入
我有一个控制器,我想知道 Rails 是否已经解析了参数并阻止了 SQL 注入。这是我的控制器的样子:
这是安全的吗?
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 路由在测试中工作。我知道这不是集成测试,但此解决方法解决了其他几个问题。我稍后会重构,这样才有意义。
其他相关控制器代码:
宝石文件:
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 项目中的方式
mysql - Rails 5.0.0.beta1,两个数据库设置创建了额外的 active_record_internal_metadatas 表
我正在尝试在rails 5.0.0.beta1
. 一切似乎都很好,但我遇到了一些奇怪的事情。模型连接到指定的数据库,关联工作,迁移(经过一些调整)也工作正常。active_record_internal_metadatas
运行迁移后,两个数据库中都会出现一个名为 的附加表。当我在上面测试这个设置时rails 4.2.5
,没有这样的东西。有人可以阐明这个问题吗?
双数据库设置的设置:
/li>database.yml
/li>second_db_connection.rb
- 处理与第二个数据库的连接的模型。应该在第二个数据库中的所有模型都必须继承自该模型。
/li>application_controller.rb
- 缓存第二个数据库的连接
/li>db.rake
- 覆盖迁移任务
ruby-on-rails - ActionCable 频道在 Rails 插件之外无法访问
我正在尝试创建一个公开 ActionCable 频道的 gem,但我无法让它工作。
这是我的宝石
然后我将 gem 添加到我的主要应用程序Gemfile
中,运行bundle install
,启动控制台并运行MyChannel
。这不会产生和错误,这意味着该通道已正确包含。
然后我将它添加到我的主应用程序中
但我收到了这个错误
我错过了什么?