问题标签 [responders]

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 投票
0 回答
152 浏览

ruby-on-rails - 从 Pundit::NotAuthorizedError 救援和重定向后,编辑视图仍然显示

我有一个非常标准的设置:Identity::Member是用户,每个Project::Project人都归一个成员所有。我将DeviseandPundit一起用于身份验证和授权。

这是我的代码Project::ProjectPolicy

这是我的edit行动:

最后,救援设置在ApplicationController

但是...由于某种原因,单击编辑仍会将您带到编辑视图,尽管所有更改都被阻止并且用户被重定向到 root_path,就像我指示的更新和销毁操作一样。为什么?

0 投票
2 回答
1303 浏览

ruby-on-rails - 错误数量的参数 0 表示 1 无法使用设计序列化模型

我正在尝试在 Controllers 文件夹中为我的 rails 应用程序创建一个 api 我创建了以下文件夹结构

控制器 > api > v1

我的路线看起来像这样需要'api_constraints'

我在会话和用户控制器中都遇到了同样的错误。我将只发布用户控制器,因为它更短

然后我的测试是

测试的输出是

4) Api::V1::UsersController GET #show Failure/Error: get :show, id: @user.id, format: :json ArgumentError: 错误数量的参数(0 代表 1)

两个问题是 1)由于某种原因,id 没有被发送到 api 操作 2)我不确定如何访问 api。我以为应该是 api.localhost:3000/users/1

提前感谢您的帮助

更新 这是 rake 路由的输出

更新 2创建我的用户时, 这看起来像是 参数数量错误(0 表示 1)的重复

不幸的是,这篇文章的解决方案对我来说不是一个选择。我无法删除 Devise,因为 User 模型在标准 Web rails 应用程序和应用程序的 api 部分中共享

更新 3 我一直在寻找其他使用标准应用程序使用 API 的方法,并且将设计与门卫一起使用似乎比令牌身份验证更好。设置好后,我又回到了相同的情况

参数数量错误(0 代表 1)

在服务器输出中,我看到以下输出。这是一个有效的用户 ID。

使用无效的 id 我得到这个输出

更新 4 插入一些调试语句后,ID 被传递给控制器​​操作,并且正在从数据库中检索用户。

问题在于

rails 无法序列化用户。我尝试用另一个没有启用设计的模型替换用户,它可以序列化模型。我不确定为什么设计会在这里引起问题。

0 投票
2 回答
669 浏览

ruby-on-rails - 覆盖respond_with的JSON响应以获取错误

我想自定义respond_with. 它呈现错误的方式是这样的:

我想让它以不同的方式回应。有没有办法覆盖这种格式?

我已经通过猴子修补 ActionController::Responder 类并重新定义成功地做到了这一点,json_resource_errors但这似乎是一种不好的方法。

0 投票
1 回答
887 浏览

ruby-on-rails - Rails:respond_with 自定义对象

respond_with 实际上是用于 withActiveModel的实例。我尝试将它与OpenStruct's 实例一起使用,但它会引发错误。是否可以将 respond_with 与自定义对象一起使用?

引发:**未定义的方法persisted?' for nil:NilClass** ruby-2.1.4@rails4/gems/actionpack-4.2.5.1/lib/action_dispatch/routing/polymorphic_routes.rb:298:inhandle_list' /home/workstat/.rvm/gems/ruby-2.1.4@rails4/gems/actionpack-4.2.5.1/lib/action_dispatch/routing/polymorphic_routes.rb:206:in polymorphic_method' /home/workstat/.rvm/gems/ruby-2.1.4@rails4/gems/actionpack-4.2.5.1/lib/action_dispatch/routing/polymorphic_routes.rb:114:inpolymorphic_url'

0 投票
2 回答
733 浏览

ruby-on-rails - 如果出现验证错误,如何自定义 response_with 呈现的 JSON?

在控制器中,我想替换if..render..else..renderrespond_with

问题respond_with在于,如果出现验证错误,JSON 会以不符合客户端应用程序期望的特定方式呈现:

产品、价格和名称是示例。我希望整个应用程序都有这种行为。

我正在使用响应者 gem,并且我已经阅读过可以自定义响应者和序列化程序。但是这些部分是如何组合在一起的呢?

如何自定义在respond_with验证错误的情况下呈现的 JSON?

0 投票
1 回答
1438 浏览

ruby-on-rails - respond_with 遇到 Rails 5 问题

我正在将我的 Rails 应用程序4.1.15.1.4.

我正在使用roar-railsgem 来解析和呈现 REST 文档。我面临一些问题,因为respondersgem 已被提取以分离 gem。

respond_with已移至“响应者”宝石。

我的rails 4代码看起来像这样:

帖子控制器:

我的 Post 代表

邮政代表

我面临的问题args是经过Controller,之后rails 5,它的到来nil

我已经调试了这个问题,发现在respondersgem 中,选项正在进入respond_with方法,但我认为它无法将它发送到roar-rails.

/path-to-gem/vendor/responders-master/lib/action_controller/respond_with.rb 这是片段:

请让我知道这里需要做什么才能argsrepresenters

0 投票
2 回答
386 浏览

javascript - 在 Rails 5 中使用 respond_with 时为空体

我正在尝试使用 ajax(成功时)从 rails 5 中的控制器渲染部分内容,但在操作渲染部分内容后,空白数据将传递给 ajax。

相同的代码正在使用 rails4。我也为 rails5 更新了响应者 gem。

控制器:

阿贾克斯:

_battle_form:

0 投票
1 回答
233 浏览

ruby-on-rails - 响应者 gem:将模型的基本错误添加到 flash 消息中?

有没有一种简单的方法可以将模型的基本错误添加到响应者gem 中的 flash 消息中?

当我尝试删除已dependent: :restrict_with_error设置的依赖子项的记录时,我会看到类似“X 无法销毁”的错误,但仅此而已。

检查记录,我发现添加了一个附加错误base

有没有一种简单的方法可以将基本错误附加到 flash 消息中?

0 投票
1 回答
27 浏览

ruby-on-rails - 使用 Responders gem 渲染显示模板

所以我的问题是仅当实体属于当前用户时如何呈现显示模板。我的控制器中有这段代码

但它仍然呈现显示模板。什么是正确的方法?

@site 是这个

0 投票
1 回答
292 浏览

ruby-on-rails - 在将 Rails 从 4.1 更新到 5.2 并添加响应者 gem 后,为我的控制器获取“未定义的方法 `flash`”

我正在将 rails 从 4.1 更新到 5.2 我添加了respondersgem,所以 respond_with 存在。我的 ApplicationController 现在看起来像这样:

class ApplicationController < ActionController::API self.responder = ApplicationResponder respond_to :html

但是,当我打电话时,respond_with我收到此错误:

我在响应者自述文件中注意到有一个 flash 响应器,但是我不想使用它。