问题标签 [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 投票
5 回答
15591 浏览

ruby-on-rails - Rails 4.0 的自定义错误处理

我正在使用 Ruby 2.0 和 Rails 4.0 构建一个 Ruby on Rails api。我的应用程序几乎完全是一个 JSON API,因此如果发生错误(500、404),我想捕获该错误并返回格式良好的 JSON 错误消息。

我试过这个,而且:

在我的应用程序控制器中。

这些都不能解决问题(根本没有捕获异常)。我的谷歌搜索显示这在 3.1 和 3.2 之间发生了很大变化,我找不到任何关于如何在 Rails 4.0 中执行此操作的好的文档。

有人知道吗?

编辑 这是我转到 404 页面时的堆栈跟踪:

我认为我不希望它走这么远,应该有东西抓住它并返回适当的 json 错误响应。

0 投票
2 回答
1043 浏览

ruby-on-rails - 如何从 ActionDispatch 对象中提取路径

我正在尝试将文件上传到 Wistia.com。从 params 获取 path_to_video 变量的正确方法是什么,因为它是一个 ActionDispatch 对象。

控制器是这样的:

上传代码看起来像这样

以下是参数:

0 投票
2 回答
616 浏览

ruby-on-rails - 按钮指向控制器中的错误操作

我在获取一个指向控制器中正确操作的按钮时遇到问题。我的显示视图有以下按钮:

我的控制器有以下两个动作:

当我单击“提交审批”按钮时,提交操作按预期运行。当我单击“关闭 ECN”按钮时,警报按预期出现,但随后处理的是提交操作而不是关闭操作。当我单击“关闭 ECN”按钮时,我的开发日志显示以下内容:

所以我可以看到它正在调用不正确的操作。我不确定是什么原因造成的,我对路由不太了解,但这里也是我的路由文件:

我在创建这两个动作时添加了两个“匹配”行。有任何想法吗?

0 投票
3 回答
854 浏览

ruby-on-rails - rails 4 中的自定义路由:如何为要调用的自定义方法设置路由

更新后的帖子

我有一个带有自定义方法“refresh_table”的“uploads_controller.rb”文件

路线.rb:

耙路线:

然后我重新启动服务器并尝试通过将其输入为 url 来测试路由是否有效

这在浏览器中给了我一个错误:

服务器日志说:

还注意到“索引”方法已从 routes.rb 中删除以进行上传。

我怎样才能解决这个问题?谢谢

0 投票
2 回答
2124 浏览

actiondispatch - rails4上传文件扩展错误ActionDispatch::Http::UploadedFile

伙计,现在我想用rails 4上传文件我的问题现在我在上传之前无法检查文件扩展名

注意: 我可以很好地上传文件, 但我想在上传之前获取文件类型

因为我需要在我的应用程序的另一个步骤中进行扩展。

我尝试使用命令

但总是出错

can't convert ActionDispatch::Http::UploadedFile into String

还有我如何在上传之前获取文件基名??当我尝试使用

我有同样的错误

同样,当我尝试将名称转换为 Sting 时,我什么也没有得到

0 投票
1 回答
444 浏览

ruby-on-rails-4 - rails 4 flash 不会在重定向“ActionDispatch::Request::Session -- 尚未加载”中持续存在

我遇到了一个奇怪的问题,即在 Rails 4.0.2 应用程序中,Flash 消息没有在重定向之间持续存在。我怀疑这个问题与我在记录会话并获得以下输出时尝试访问闪存哈希时尚未加载的会话有关:

我正在尝试更新“assets_controller”中的资产,然后如果资产已成功更新,则重定向到“dashboard_controller”的“home”操作。我的代码如下:

资产控制器:

仪表板控制器:

日志输出:

0 投票
1 回答
1060 浏览

ruby-on-rails - 如何在 Rails 应用程序中获取路径的路径?

给定一个方法和路径,我想询问 Rails 如何路由该请求,并且我希望能够从控制台和/或 rake 任务执行此操作。我认为这应该很简单——ActionDispatch 对每个请求都这样做,路由测试方法显然也这样做。

(目前:Rails 3.0.x,但对于我正在编写的 gem,我至少需要能够在 Rails 3.0 到 4.1 中执行此操作,并且可能在旧版本中也是如此。)

我一直在尝试这样的一些事情:

或者

在这两种情况下,我都会返回“RuntimeError: route set not finalized”。

我正在慢慢研究 ActionDispatch 代码,但如果有人知道他们头脑中的答案,那将为我节省大量时间。所以谢谢!

0 投票
1 回答
1793 浏览

ruby-on-rails - Remove the HTTP_ prefix in Rails headers

Any request sent to a Rails controller gets an HTTP_ prefixed to it, as that's appended by ActionDispatch::HTTP.Headers. Is there a way to prevent that (without overriding ActionDispatch::HTTP, so that I can use my custom headers, as is and use those as keys for headers.@env?

0 投票
1 回答
254 浏览

ruby-on-rails - 使用griddler gem时出现Rails路由错误

我在我的 rails 应用程序中的 griddler 添加的路线上遇到了一个奇怪的问题。

routes.rb 摘录:

耙路线

但是在暂存日志中,我看到路由错误。

当我试图从 rails 控制台识别路径时,我看到了同样的错误:

奇怪的是,在我的本地上一切正常(当我使用 ngrok 将本地公开到云时没有路由错误,发布请求正在按预期处理,但是我仍然看到本地的 recognise_path 问题)

宝石文件.rb

Development.log 摘录:

谁能帮我理解这个问题的根本原因?

谢谢

0 投票
1 回答
1238 浏览

ruby-on-rails - 用于 Active Record 模型属性的 attr_reader

我正在尝试覆盖每篇文章标题的显示方式,因为如果我不这样做它看起来很难看,但我不断收到如下错误:

我不知道如何解决这个问题。如果我将方法更改为不同的方法,例如 ntitle,它将起作用。为什么?!