问题标签 [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.
ruby-on-rails - 'respond_to' 格式语句中的 `:location => ...` 和 `head :ok` 是什么意思?
我正在使用 Ruby on Rails 3,我想知道:location => ...
andhead :ok
语句在以下代码中的含义,它们如何工作以及我应该如何使用它们。
ruby-on-rails - 我的远程表单提交正在尝试呈现 pages/_page.js.haml 文件,但我希望它是 pages/_page.html.haml
我正在使用haml,所以希望你能理解这里的html。我认为它更容易阅读,但有些人不喜欢它:p
我的编辑页面上有一个如下所示的表单:
当您提交表单时,我希望控制器操作呈现 _page 部分。现在,控制器操作正在尝试呈现“pages/_page.js.haml”,但我想使用“pages/_page.html.haml”,因为我有一个成功后的 jquery 钩子,它会自动替换编辑后的内容带有新文本的页面区域。
这是我的行动:
别处...
所以这一切都有效。除了它呈现错误的视图:(当你第一次进入页面时,它的一部分是使用'pages/_page.html.haml'部分填充的,当你用这个ajax操作更新内容时,我想用那个相同的部分,而不必逐字复制名称“pages/_page.js.haml”下的内容。有谁知道我在这里缺少什么来使操作呈现haml内容,而不是js内容?当我执行更新时现在它给了我这个错误:
如果我复制 html.haml 文件并且名称是 .js.haml 它按预期工作。
这是我用来处理 rails.js 在提交表单时给我的事件的 jquery:
不要认为那部分是相关的,但它会告诉你当我在 JS 中更新页面上的内容时。我怀疑问题出在我的操作render
调用或视图form_for
调用中。任何帮助,将不胜感激 :)
ruby-on-rails - 不应该出现的 AbstractController::DoubleRenderError
当我在我的用户控制器中点击这个销毁方法时,我遇到了以下错误。
AbstractController::DoubleRenderError (在此操作中多次调用渲染和/或重定向。请注意,您只能调用渲染或重定向,每个操作最多调用一次。另请注意,重定向和渲染都不会终止操作的执行,因此如果你想在重定向后退出一个动作,你需要做一些类似“redirect_to(...) and return”的事情。):
这很奇怪,因为老实说,我只回应一次电话。
这是我的行动:
有任何想法吗?
ruby-on-rails-3 - 我可以在 Rails3 中使用“响应格式”做通配符吗?
考虑以下代码:
现在我知道您可以指定一大堆格式,但是有没有办法指定所有其他格式(在这种情况下,除了 .jx 和 .xml),让我不必明确指定每种特定格式?
我想我有点想要一个“if-else”类型的条件。这可能respond_to do |format|
吗?
ruby-on-rails-3 - 收到请求后如何更改请求的 MIME 类型?
我的客户以 XML 或 HTML 格式发送我的 rails 应用程序请求。在 Rails 2.10 下,我的控制器操作有一个带有 Wants.html 和 Wants.xml 的 responds_to 块。如果他们想要 XML,我的客户将其 HTTP 标头设置为 Content-Type=text/xml 和 Accept=text/xml,并且几乎不使用 HTML 标头。工作得很好。
事实证明,我的大量客户一直都省略了 Accept=text/xml 标头,但是只要他们设置 Content-type=text/xml,respond_to 块就会触发 want.xml。在 rails3,respond_to 块(正确)仅在设置 Accept=text/xml 时才触发 Wants.xml。
我怎样才能告诉 rails3 请求需要 XML,而不是让我的许多客户更改他们的程序?我在想,如果我看到 Content-Type 设置为 text/xml,我也会强制 Accept 为 text/xml。
我尝试像这样直接更改 request.env 哈希:
但这没有用。我可以完全放弃 response_to 并执行以下操作:
但这似乎是蛮力。有没有更可靠的方法来实现这一点?
ruby-on-rails - 如何将此 respond_to 选项转换为使用 Rails 3 版本?
我尝试过的所有选项(比如放在respond_to :js
控制器的顶部等)都不能像这样工作。
ruby-on-rails - respond_to 自定义格式别名 json 格式,这可能吗?
我有一种情况,我将 json 对象返回到我的应用程序,这些对象是从 YML 文件构建的。因为要解析 yml 文件并将其作为 json 返回,我总是必须执行以下操作:
我想通过创建(但是)导致 json 的自定义格式来缩短此操作,因此我不想创建新的 mime 类型。
我的想法是写:
它将自动在 views/mycontroller 目录中搜索myaction.myformat.erb,并自动解析 yaml 文件并将其作为 json 对象返回。
这可能吗?如果是,我最终该怎么做?
编辑 1: 我在 config/mime_types.rb 中找到了一个重要建议:
所以我可以为 mime 类型设置别名,现在最大的问题是:如何定义给定格式的默认渲染操作,比如 format.html 呢?
如果我写
current_action.html.erb 将被自动渲染,如何选择正确的方法来渲染自定义格式?
编辑2:
我设法创建了这段代码(在控制器内部,通过我构建的一些辅助方法):
如果我写的话,可以让 Rails 理解:
它必须这样做:
默认情况下?
javascript - 如何在 Rails 3 中通过 AJAX 进行响应?
我有一个表格,我使用 AJAX 发送。表格在FirstsController
. 我需要表格发送到SecondsController
。发送表单并保存数据。然后我想通过文本更改表单,我尝试这样做:
我得到这个错误:
我应该如何将 JS 请求设置回FirstsController
? + 需要任何帮助 *.js 文件吗?
javascript - Javascript 未从 remotipart 的提交后执行
我是一个新手 RoR 程序员,在我使用 remotipart 上传文件并将其与 POST 请求一起提交给控制器后,我目前正在尝试让我的 js 工作。基本上,在单击按钮提交后,POST 请求已成功发送,但 parse_bond_file.js.erb 被启动为 OTHER 而不是 SCRIPT。这是我的代码:
---upload.html.erb###
---issuer_controller.rb---
---parse_bond_file.js.erb---
请帮忙。谢谢!
ruby-on-rails - void respond_to format.html 仅适用于 format.js
我想要 void format.html 响应在 ruby on rails 3 的控制器中。
例如在我的comments_controller.rb
我只想使用format.js 响应,然后从 new.js.erb 渲染部分。这对我来说不是问题,很容易,但是......
如果我放:
http://localhost:3000/comments/new
我得到一个空白页:O。
我怎样才能使这个页面作废?例如渲染或显示错误 404。
谢谢!