问题标签 [respond-to]

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 回答
272 浏览

ruby-on-rails - 在 Rails 中对相同的 respond_to 格式使用不同的逻辑

我的 Rails 应用程序当前使用 JSON 作为respond_to网站上 AJAX 表单的格式。我计划为应用程序创建一个公共 API,并且我也想为它使用 JSON。如果两者的请求格式都是 JSON,我如何区分控制器中的 AJAX 表单和 API 调用?

0 投票
2 回答
2299 浏览

ruby-on-rails - 用于 csv 的非资源的 Rails 路线

我有一个名为“修订”的方法,我希望能够使用相同的逻辑但输出到 csv。我想我想使用 FasterCSV gem。我需要的是添加到我的路线中以便获得 html 和 csv 输出的路线。我希望我的网址是这样的:

想法?

非常感谢!

0 投票
1 回答
2511 浏览

ruby-on-rails - 使用和测试 Rails ActionController 的 respond_with

提前为这个问题的冗长道歉。如果你能容忍我,我想你会发现它实际上很简单……鉴于我有限的 Rails 领域知识,我很难解释。

鉴于此评论在8 月 6 日的 ActionController 提交中

我已经修改了一个非常基本的控制器来使用respond_with。当 Rails 自动生成的测试尝试通过空params来更新和创建方法时,除了 2 个规范失败之外,一切似乎都运行良好。我可以通过简单的 if save/else 来纠正这种行为,但我正在尝试理解这个“新”功能。我认为默认规范可能以过时的方式编写。

从提交评论:“ Since the request is a POST, respond_with will check wether @people resource have errors or not. If it has errors, it will render the error object with unprocessable entity status (422).

因此,向下滚动到 POST 下的最后一个测试/规范(如下),我是否可以重写它以测试“不可处理的实体状态(422)”并通过,因此一切都很乐观?

我的控制器:

测试规格:

这是 clowns_controller_spec.rb 的一部分:

0 投票
1 回答
250 浏览

ruby-on-rails - 使用 Prototype,是否有可能“redirect_to”避免处理完整的“js.rjs”代码?

在 *user_controller.rb* 文件中,我有以下代码:

update.js.rjs文件中我有这个代码

这是一种重定向 Java 响应并传递变量(@yo == true)的技巧。但是我认为最好在大括号中执行类似“redirect_to”的操作,避免处理update.js.rjs中的代码:

但我不知道该怎么做或是否有可能。有人可以就这个问题给我建议吗?

0 投票
2 回答
977 浏览

ruby-on-rails-3 - Rails3 和 Respond_with 问题

我有一个应用程序,上面有两个用户界面。

第一个适用于普通用户,第二个适用于iphone用户。

一切正常,直到我在控制器中重构我的代码以使用respond_with声明而不是respond_to。

该应用程序仍然适用于 html 界面(:format => :html),但不适用于 iphone 界面(:format => :iphone)。

在 iphone 上,当我执行以下操作(:index、:new、:edit、:show)时,它可以工作。

但是当我这样做时(:create,:update,:destroy),我收到错误说找不到模板(例如create.iphone.haml)。

在我的控制器上,我有

然后例如,编辑和更新操作

事实上,我希望 :iphone 格式被处理为 :html 是......而不是通过调用 to_format 方法,因为它在doc中指定。

0 投票
1 回答
2216 浏览

ruby-on-rails-3 - 覆盖 to_xml 以限制返回的字段

使用 ruby​​ 1.9.2 和 rails 3,我想限制以 json 或 xml 访问记录时返回的字段(仅允许两种格式)。

这个非常有用的帖子向我介绍了respond_with,我在网上的某个地方发现了一个全面允许/拒绝某些字段的好方法是覆盖类的as_json或to_xml并设置:only或:except来限制字段。

例子:

这正是我正在寻找并适用于 json 的内容,但对于 xml“索引”(GET /widgets.xml),它以一个空的 Widget 数组响应。如果我删除 to_xml 覆盖,我会得到预期的结果。我做错了什么,和/或为什么 Widgets.to_xml 覆盖会影响 Array.to_xml 结果?

我可以通过使用解决这个问题

但不觉得这是一个很DRY的方法。

0 投票
1 回答
954 浏览

ruby-on-rails-3 - 如何在 Rails 的 respond_to 块中传递布局错误?

我试图弄清楚如何使这项工作。这是我的代码,现在不工作:

0 投票
1 回答
1324 浏览

javascript - 如果 format.html 存在,respond_to 不能与 format.js 一起使用

使用时respond_to,我的 AJAX 调用仅在 HTML 响应不存在时才调用 javascript 响应。

我有以下 javascript 用于提交就地编辑操作:

然后我有以下调查控制器方法:

如果我删除该format.html行,format.js则按应有的方式响应。但是如果我离开format.html那里,那么当我通过那个editablejavascript 位提交时,整个页面都会呈现。

我正在为这个应用程序运行 Rails 3.0.3。

0 投票
1 回答
264 浏览

ruby-on-rails - 发布时控制器更改变量的格式

我是 ROR 的新手,但很快就赶上了。我已经在这个问题上工作了几个小时,这似乎是一个错误。我没有任何意义。

我有一个具有以下迁移的数据库:

我已经根据此迁移验证了在数据库中创建的也是整数、字符串等。

通过脚手架生成控制器后我没有接触过控制器,即它是带有显示,索引等的标准控制器。

现在。当我通过 Web 表单、Rails 控制台或直接在数据库中输入数据时——例如用于url的 www.domain.com或用于adsense的 500——它将毫无问题地在数据库中创建。

然而,当它在网站上发布时,变量完全疯了。Adsense(整数)变成日期,url(字符串)变成浮点数,以此类推。这只发生在少数变量上。

这也会产生“参数超出范围”的问题,因为我输入 500,Rails 将尝试将其输出为 date => crash 和“参数超出范围”。

那么,我该如何解决/解决这个问题?为什么格式会发生变化?可能是因为控制器中的 respond_to 吗?

干杯,

克里斯托弗

控制器:

看法:

输出:

对于这个输出,我使用了以下输入:

请注意,例如,该 url 留空(并创建了 0.0 输出)。帝国类型留空并创建 0 输出。

为了进一步澄清,数据库中的数据正是我的输入。只有输出错误。

当我回到编辑模式时。“Adsense”和“Affiliator”的输出(默认值)显示2000-01-01 00:00:24 UTC

0 投票
4 回答
743 浏览

ruby - Ruby 1.9.2 Object.respond_to?:hello && Object.hello 给出错误,为什么?

今天在单步执行代码时,我注意到了一些意想不到的事情。这个说法:

如果 Object.respond_to? :hello && Object.hello #stuff

给出未定义的方法错误。但为什么?显然 hello 不是 Object 的有效方法,但是考虑到短路评估,Object.hello 不应该在 Object.respond_to 时被忽略吗?: 你好是假的?

我在玩 Authlogic 时注意到了这一点,试图弄清楚为什么 UserSession 类必须定义持久化?在 Rails 3 中。

谢谢