问题标签 [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.
ruby-on-rails - 从 Pundit::NotAuthorizedError 救援和重定向后,编辑视图仍然显示
我有一个非常标准的设置:Identity::Member
是用户,每个Project::Project
人都归一个成员所有。我将Devise
andPundit
一起用于身份验证和授权。
这是我的代码Project::ProjectPolicy
这是我的edit
行动:
最后,救援设置在ApplicationController
但是...由于某种原因,单击编辑仍会将您带到编辑视图,尽管所有更改都被阻止并且用户被重定向到 root_path,就像我指示的更新和销毁操作一样。为什么?
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 无法序列化用户。我尝试用另一个没有启用设计的模型替换用户,它可以序列化模型。我不确定为什么设计会在这里引起问题。
ruby-on-rails - 覆盖respond_with的JSON响应以获取错误
我想自定义respond_with
. 它呈现错误的方式是这样的:
我想让它以不同的方式回应。有没有办法覆盖这种格式?
我已经通过猴子修补 ActionController::Responder 类并重新定义成功地做到了这一点,json_resource_errors
但这似乎是一种不好的方法。
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:in
handle_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:in
polymorphic_url'
ruby-on-rails - respond_with 遇到 Rails 5 问题
我正在将我的 Rails 应用程序4.1.1
从5.1.4
.
我正在使用roar-rails
gem 来解析和呈现 REST 文档。我面临一些问题,因为responders
gem 已被提取以分离 gem。
respond_with
已移至“响应者”宝石。
我的rails 4
代码看起来像这样:
帖子控制器:
我的 Post 代表
邮政代表
我面临的问题
args
是经过Controller
,之后rails 5
,它的到来nil
。
我已经调试了这个问题,发现在responders
gem 中,选项正在进入respond_with
方法,但我认为它无法将它发送到roar-rails
.
/path-to-gem/vendor/responders-master/lib/action_controller/respond_with.rb
这是片段:
请让我知道这里需要做什么才能
args
在representers
javascript - 在 Rails 5 中使用 respond_with 时为空体
我正在尝试使用 ajax(成功时)从 rails 5 中的控制器渲染部分内容,但在操作渲染部分内容后,空白数据将传递给 ajax。
相同的代码正在使用 rails4。我也为 rails5 更新了响应者 gem。
控制器:
阿贾克斯:
_battle_form:
ruby-on-rails - 响应者 gem:将模型的基本错误添加到 flash 消息中?
有没有一种简单的方法可以将模型的基本错误添加到响应者gem 中的 flash 消息中?
当我尝试删除已dependent: :restrict_with_error
设置的依赖子项的记录时,我会看到类似“X 无法销毁”的错误,但仅此而已。
检查记录,我发现添加了一个附加错误base
:
有没有一种简单的方法可以将基本错误附加到 flash 消息中?
ruby-on-rails - 使用 Responders gem 渲染显示模板
所以我的问题是仅当实体属于当前用户时如何呈现显示模板。我的控制器中有这段代码
但它仍然呈现显示模板。什么是正确的方法?
@site 是这个
ruby-on-rails - 在将 Rails 从 4.1 更新到 5.2 并添加响应者 gem 后,为我的控制器获取“未定义的方法 `flash`”
我正在将 rails 从 4.1 更新到 5.2 我添加了responders
gem,所以 respond_with 存在。我的 ApplicationController 现在看起来像这样:
class ApplicationController < ActionController::API
self.responder = ApplicationResponder
respond_to :html
但是,当我打电话时,respond_with
我收到此错误:
我在响应者自述文件中注意到有一个 flash 响应器,但是我不想使用它。