问题标签 [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.

0 投票
1 回答
1425 浏览

ruby-on-rails - 未定义的方法“切片”

在我的 Rails 4.2.0 应用程序中,我在视图模板中有以下代码:

但是它会引发错误:

有谁知道我可能会错过什么或如何让它发挥作用?

0 投票
1 回答
205 浏览

ruby-on-rails - 如何在 Rails 路由中捕获请求?

我需要有条件地param在路线中设置选项。

没有条件很容易:

我理想中想要的是以下几行(显然不起作用):

0 投票
1 回答
806 浏览

ruby-on-rails - Rails with custom error through routes - read original requested URL

I am using a custom error controller. I would like to have a 200 response code when visiting the 500 page URL (otherwise my middleware that intercepts 500 response codes sends me an exception email whenever I want to show off my 500)

It would seem using the self.routes as exceptions_app will change the request.path to always be equal to the error number

Target

  • visit www.example.com/crashy_url # => Should show custom 500 error template with 500 response code
  • visit www.example.com/500 # => Should show custom 500 error template with 200 response code

Problem

  • visit www.example.com/crashy_url # => request.path is equal to `/500' so my controller sends a 200 response code

How can I extract the really visited URL with this ?

0 投票
5 回答
4360 浏览

ruby-on-rails - Rails 5.1: "unknown firstpos: NilClass" - Issue reloading application

enter image description here

Following an upgrade from Rails 5.0 to 5.1 I'm getting this error anytime the app reloads, either from code changes during rails server or if I call reload! from the console.

https://github.com/rails/rails/blob/master/actionpack/lib/action_dispatch/journey/gtg/builder.rb

Application Trace is empty, here's the Framework Trace:

0 投票
2 回答
1438 浏览

ruby-on-rails - Rails 响应状态码 406

我一直在 Ruby on Rails 中测试我的函数。但是,测试(期望状态码为:success)在收到状态码后失败406。这是确切的失败日志:

我读了一些关于406响应的内容,发现它代表“不可接受”。所以我尝试设置Accept、和标题Content-Type,但我没有运气。Accept-LanguageAccept-Charset

这是我的测试代码:

create_by_token控制器内部的功能:

我的路线:

我错过了一些重要的东西吗?我该如何解决这个问题?

我很乐意提供您需要的任何其他信息。

0 投票
0 回答
148 浏览

ruby-on-rails - 猴子修补 ActionDispatch::Routing::PolymorphicRoutes polymorphic_path 导致堆栈级别太深

我修改了 polymorphic_path 方法,因为只要语言环境与默认语言环境相同,我就想添加一个 nil 语言环境。

该方法如下所示:

一切都像一个魅力,除非我在任何给定的控制器或助手中调用一个新的 polymophic_path 实例。然后更改服务器崩溃的参数“堆栈级别太深。

它正在调用“old_polymorphic_path(record_or_hash_or_array, opt)”一百万次。但这不会发生在视图中。

这是猴子修补方法的正确方法吗?是什么导致此“堆栈级别太深”错误以及如何解决?

0 投票
1 回答
934 浏览

ruby-on-rails - Rspec使用参数上传文件

我正在尝试编写用于测试上传功能的规范,并且代码实现按预期工作,但是当我尝试编写规范时,我无法弄清楚为什么数据对话在JSON.parse. [导轨 5.X]

方法

规格:

该方法puts params[:file]打印

方法JSON.parse失败并在失败之​​前获取值。convert_hashes_to_parameters(key, value)converted"[{"name":"Bob","key":"201","active":true}]"

我错过了什么?

0 投票
1 回答
808 浏览

ruby-on-rails - Rails - 如何在 ActiveJob 中使用 ActionDispatch::Integration::Session

在 Rails 的控制台app中定义为

现在,我有一个简单的工作,比如:

如果我打电话MyJob.perform_now,我会得到

NameError:未定义的局部变量或方法“app”

如何app在 Rails 的 ActiveJob 中使用?

0 投票
1 回答
362 浏览

ruby-on-rails - 在 Rails 中限制日志输出的长度

我有一个接受 base64 编码图像的 API。请求看起来像:

base64 编码的字符串可能非常大,有时是 10k - 100k 个字符。当使用格式不正确的 JSON 发送请求时,Active Dispatch 会正确引发错误并记录请求:

在这种情况下,错误是由编码中的新行引起的。

我的问题是,什么是限制日志记录不显示有时 50k 字符长的图像字符串的好方法?这会填满我的日志文件并使查看日志变得困难。我确实希望记录错误,我只想对字符串进行切片以显示前 255 个字符而不是大量图像。

我知道 ActionDispatch 有一些过滤属性(例如密码)的好方法,但是假设参数已被解析为哈希,在 JSON 错误的情况下它们没有。

0 投票
2 回答
879 浏览

ruby-on-rails - ActionDispatch::IntegrationTest 抑制异常

在调试失败的集成测试时,我一直遇到同样的问题,即我的代码中引发的异常被抑制并且没有显示在测试输出中。

例如,对于以下控制器和测试:

输出类似于

有没有办法查看确切引发的异常?而不仅仅是 HTTP 响应代码的区别?

谢谢!

西蒙