问题标签 [actiondispatch]
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 - 给定一个 URL 路径,我可以获得用于完成请求的 url 参数吗?
例如在 routes.rb 我有类似的东西
给定字符串"/api/v1/login/lisa@example.com"
,我想知道该路径包含一个名为的参数email
,其值为lisa@example.com
ruby-on-rails - IntegrationTest 从配置中引发错误?
我在测试我的 Rails 应用程序时遇到了一些问题。
我有一个简单的以下文件来测试控制器(依赖于http://guides.rubyonrails.org/testing.html):
使用 test_helper.rb 这是:
我在控制台中运行:
bin/rake test test/controllers/knowledge_graph_controller_test.rb
它应该只触发上面的两个断言。但是,我得到了上面的两个断言和 8 个错误。
错误如下:
我无法解释。我什至不明白它们来自什么文件。
我正在使用 Rails 4.2.7.1
非常感谢您的帮助!
ruby-on-rails - 在 HTTP 上下文之外调度 Rails 控制器操作(不在单元测试中)
我维护一个使用 Rails 作为 API 的成熟代码库。Rails 应用程序还使用 MQTT(一种实时、非 Web、非 HTTP 协议)做一些事情。
一些用户要求能够通过 MQTT 协议模拟相同的 REST 命令(避免需要进行两次身份验证并拥有两个不同的协议客户端)。
我见过一些项目,例如 Facebook 的 API通过将部分 HTTP 请求放入使用 JSON 的请求中来“模拟”HTTP(例如:在 JSON 有效负载上具有“标头”和“方法”属性)。这正是我想要做的,但完全在 HTTP 上下文之外。它将发生在处理 MQTT 消息的后台工作程序中。
是否可以单独使用 ActionDispatch 和朋友来模拟控制器调度?
我很难找到有关如何ActionDispatch::Request
在 RSpec 之外单独实例化对象的文档。
ruby-on-rails - Rail 5 使用自定义重新加载器交换 ActionDispatch::Reloader
我们有一个用例,用于在本地开发时安装模拟引擎来处理会话,其中自定义会话中间件在请求通过时通过 Net::http 请求调用模拟引擎。
当有代码更改时,会触发重新加载器,并在此处调用ActiveSupport::Dependencies
开始卸载。然后将请求传递给我们的自定义会话中间件并触发 http 请求。
然而,由于 http 请求调用了一个可挂载的引擎,它会再次考虑相同的中间件,并且重新加载器会再次卸载所有依赖项,这会导致第一次重新加载超时。所以目标是能够跳过第二个请求的重新加载。
ActionDispatch::Reloader
我在此处添加了以下代码,它完全符合我的要求。
然后我想让这个清洁器将其完全拉出到一个模块中,然后从初始化器中进行这样的交换
这是模块
但我遇到了几个问题。
Uncaught exception: wrong number of arguments (given 1, expected 2)
从 for initialize
in MyModule
,当我启动服务器时。然后我尝试了以下
他们都正确启动了服务,我看到请求通过这个中间件,但它没有重新加载代码。所以我想知道用自定义重新加载器交换 ActionDispatch::Reloader 的正确方法是什么?
ruby-on-rails - ActionController::UrlGenerationError:即使我将 id 传递给测试,也没有路由匹配并且缺少 id
我对 Rails 还是很陌生,并试图为我的一个控制器编写一些基本测试。
为了使这个问题保持简短,让我们看一下我的两个测试。
should show captable
失败should get index asserts
成功地
从下面的错误中,我可以看到missing required keys: [:id]
问题,但我正在传递 id - 所以我无法弄清楚问题是什么。
感谢任何帮助:)
测试文件(仅包含此问题的相关测试)
控制器(仅包含相关方法)
帽桌夹具
这是尝试运行测试时的错误
ruby-on-rails - Rails 测试失败 - ActionController::UnknownFormat:
我目前正在为我的所有控制器编写测试,并且遇到了我无法解决的问题。对于我的一个控制器,每个测试都有效(显示、索引、新建、编辑、更新),但由于某种原因,我的 #create 测试无法通过。澄清一下:所有的装置和其他方法都可以正常运行并通过——我的创建方法或对该方法的测试有问题。
据我所知 - 错误可能与respond_to |format|
线路有关,但似乎无法解决。
这是测试:
这是控制器的方法:
运行此测试时出错:
ruby-on-rails - 如何编写在每个 ActionDispatch::IntegrationTest 之前运行的基本设置和拆卸
我有许多使用ActionDispatch::IntegrationTest
Rails 4 应用程序编写的集成测试。setup
我正在尝试在每个测试运行之前向每个和teardown
我想要调用的每个添加几行,而不覆盖每个测试特定的setup
和teardown
回调。
所以基本上,我想做类似以下的事情:
我不希望这些覆盖更具体的设置,而是希望它们之前运行。所以我希望这个设置在上面写的基础之后运行:
我目前收到上述错误:
所以我想知道正确的方法是什么。任何建议将不胜感激!提前致谢
ruby-on-rails - 将 json 传递给控制器时,rails 上的 ActionController::UnknownFormat 测试
我正在为我的一个控制器编写一些测试,除了我的 #create 方法的测试之外,所有这些测试都通过了。
我似乎无法通过这个测试。我知道该UnknownFormat
错误与我使用哪种格式(和respond_to
)发布到我的控制器有关,但即使我在帖子中添加json
或html
格式 - 我仍然收到错误。
在这个测试中拔出我的头发 - 会喜欢一些关于如何最好地重写这个测试以获得最佳结果的指导。
考试
来自控制器的方法:
错误的完整回溯:
ruby-on-rails - 升级到 Rails 5 后更换 ActionDispatch::ParamsParser
将应用程序从 Rails 4.2.9 迁移到 5.2.1。
这是最新一期:
初始化程序中有问题的代码行:
导轨指南说:
ActionDispatch::ParamsParser 已弃用,并已从中间件堆栈中删除。要配置参数解析器,请使用 ActionDispatch::Request.parameter_parsers=。(提交,提交)
所以我尝试了以下方法:
但这会引发更多错误:
有没有更好的方法在该对象上调用 .delete ?
ruby-on-rails - 如何使用内容在 Rails 中?
我已将两张图片上传并加密到我的应用程序中,现在我需要在img_tag
. 如何检索此字符串的内容并将其显示给用户?