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

ruby - 尝试别名旧方法并在 ruby​​ 中创建新方法

如果方法存在,我将使用以下代码段仅对方法进行别名:

返回truealias_method': undefined method 'get' for class 'Sinatra::Base' (NameError)时如何出错?self.respond_to? func_name

func_name = :get在这个片段中

0 投票
1 回答
639 浏览

ruby-on-rails - respond_to 和服务对象

我目前正在使用docx_replace gem自动将数据插入到一组文档中。宝石非常简单。基本上它在你的rails控制器中以一种特殊的方法运行(引用文档):

但是,这使我的控制器变得臃肿,因此我尝试将其放入这样的服务对象中(继续上面的示例):

并在我的控制器中完成了以下操作:

但是,当我调用控制器方法时,出现以下错误:

我阅读了respond_to,如果我正确理解了文档,这是控制器特有的方法(这可以解释问题)。我怎么能解决这个问题?

0 投票
2 回答
309 浏览

ruby-on-rails - 如何干燥所有动作中都相同的respond_to?

我有一个控制器,它将为小部件提供服务:

这个控制器会变得更大,所以我想避免在所有操作中重复这段代码:

任何想法?

编辑:只是为了给出一些背景......

路线是灵活/动态的:get 'widgets/:action', to: 'widgets#:action'

因此,如果我访问widgets/widget1它将呈现视图widget1.html.erb

如果我将脚本包含在另一台服务器中,它将在那里构建 widget1:

0 投票
1 回答
1138 浏览

ruby-on-rails - 将局部变量添加到 respond_to 渲染视图

我目前有以下代码,它工作正常:

我相信:show指的是 jbuilder 视图。

但是,如果我想在 json 渲染中添加一个局部变量,我该怎么做呢?

我尝试了以下方法,但没有奏效。

我也试过

从我在渲染中找到的:json 不接受选项

0 投票
2 回答
1231 浏览

ruby-on-rails - Rails 中的“respond_to”函数如何工作?

这是生成的默认 Rails 代码。我了解代码的作用(来自文档中的解释),但不了解它的作用。

我的理解:

  • Post.all返回保存在实例变量 @posts 中的所有帖子的数组
  • respond_to函数采用默认的“块”(一个匿名函数块,它采用一个参数“格式”
  • 根据请求的格式,返回相应的输出

我不明白的是:

  • 这实际上是如何工作的?第 8 行调用对象的函数html方法format,无论传递何种格式。该html方法有什么作用?为什么每次都调用这两种方法?他们是吗?
  • 为什么json方法需要参数(调用渲染的块)但html方法不需要任何参数
  • 这个函数有返回任何东西吗?看起来它返回了json方法的返回值。

我是 ruby​​ 和 rails 的新手,我开始使用示例,想详细了解每条线的作用。

0 投票
5 回答
2936 浏览

ruby-on-rails - json请求在rails中返回html

我目前正在尝试制作一个 Ajax 脚本来与我的本地主机上的 Rails 服务器进行通信(目前)。问题是我在我的 $.ajax 请求中指定了我想要“json”格式但 rails 返回一个“html”格式:

在 rails 服务器的控制台日志中,我可以看到:

WelcomeControllerindex 处理为 HTML ...在 34 毫秒内完成 200 OK ...

我实际上收到了来自服务器的响应,但采用的是 HTML 格式而不是 JSON。

我确切地说我的welcomeController 代码的rails 控制器包含:

z 是我想发回给 Ajax 请求的变量,并且在之前定义过(我点亮了代码以使其易于理解)

结果,Jquery 尝试将结果解析为 JSON 格式,然后以 : parsererror syntaxerror unexpected token '<' 结束,它对应于整页的第一个字符!

我搜索了几个小时,但我不知道如何解决这个问题。

非常感谢您的帮助

0 投票
1 回答
48 浏览

ruby-on-rails - 对 json 响应控制器操作使用多个参数

在我的搜索控制器中,我使用 json 渲染调用进行站点搜索。我现在需要将自定义实例方法传递给 JS 文件。问题是,当我尝试用逗号分隔必要的方法 ( to_json) 时,我在控制台中收到此错误:

控制器代码

型号代码

0 投票
1 回答
252 浏览

ruby-on-rails - Rails 4 - 脚手架生成器

我正在尝试使用 Rails 4 制作应用程序。

我使用了 generate scaffold 命令来设置文章控制器。

它目前看起来像这样:

我将此行添加到文件的顶部:

我发现这篇文章解释了为什么需要这样:

http://www.justinweiss.com/articles/respond-to-without-all-the-pain/

但是,当我保存更改并尝试更新文件中的条目时,我收到此错误:

错误指向我的更新操作中的 respond_to 行:

是否需要更多的东西才能让它工作?

0 投票
2 回答
4178 浏览

ruby-on-rails - Rails respond_to 重定向不起作用

我的 Rails 应用程序中的 create 控制器中的 respond_to 块在成功保存时没有重定向......我确信这是一个简单的解决方案,但我对 Rails 缺乏经验,这是我第一次遇到这个问题。

表单设置为:remote => true,控制器如下...

当我谈到这个主题时,条件的else部分的代码也不会运行,除了format.js {},它会运行我的 create.js.erb 文件中的代码(暂时是一个警报)。

我正在使用 Rails 4.2.5。有人可以帮我理解为什么重定向和警报不起作用吗?谢谢!

编辑以显示解决方案 根据 Rich 的回答,这是我提出的解决方案:

控制器:

创建.js.erb

请注意,我需要在重定向 url 周围添加引号。

表单成功后,页面重定向到根目录。失败时,错误消息会闪烁,但表单不会刷新 - 用户输入的任何答案都会保留。

0 投票
1 回答
684 浏览

ios - 可选委托方法上的 respondsToSelector

我正在将此Objective-C 开源项目转换为 Swift。它有一堆可选的代表。

我像这样将它们转换为 Swift。

在 Objective-C 项目中,在调用这些可选方法之前,它会respondsToSelector像这样检查它的可用性。

我通过使BEMAnalogClockDelegate符合NSObjectProtocol并像这样调用它们直接将其转换为 Swift。

但这会在项目运行时导致 EXC_BREAKPOINT 崩溃。

我在谷歌上搜索了一个解决方案,并看到了这篇推荐使用guard let的文章。

但是我的问题是如何指定else零件中的逻辑?例如,在上面的第一个if else块中,它检查if块中的方法,如果失败,它将值设置为块中的graduationColorto 。UIColor.whiteColor()else

如果我使用这种方法,我该怎么做guard let?还是有更好的方法来做到这一点?