Ruby on Rails - Ruby 中的 KeyCode [关闭]

Posted

技术标签:

【中文标题】Ruby on Rails - Ruby 中的 KeyCode [关闭]【英文标题】:Ruby on Rails - KeyCode in Ruby [closed] 【发布时间】:2014-05-25 13:16:37 【问题描述】:

是否有可能检查是否在 Ruby 中按下了某个键? 例如: 在 CoffeeScript/javascript 中,你可以说:

$(document).keypress event, ->
  alert event.keyCode

这在 Ruby 中也可以吗? (我知道,我可以使用 NodeJS 代替 Rails,但这不是我的问题)

【问题讨论】:

【参考方案1】:

由于 Ruby 不像 JavaScript 那样在您的浏览器中进行解释,因此它无法自行完成您尝试执行的操作。在控制器完成请求的适当方法后,浏览器永远不会看到任何 Ruby 代码,而只会看到生成的 html(和 JS)。 Rails 是基于 REST 的,因此每个请求都是单独执行的,请求之间不保留任何状态,将信息保存在 cookie 或类似方式中。它不会一直运行,等待回复或类似的东西。

但是,您可以像在 Ruby 模板中发布的那样简单地嵌入 JS 代码。然后,此 JS 可以检查按键事件并向服务器发送新的 (AJAX) 请求以执行一些附加操作。您将需要处理返回的值并使用 JS 代码手动显示它们。

如果您的页面或应用程序会大量使用此类动态功能,那么其​​他语言可能更适合。

【讨论】:

以上是关于Ruby on Rails - Ruby 中的 KeyCode [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

作物哈希结构:Ruby on rails

如何在 ruby​​ on rails 中访问 rails 助手和嵌入资产 javascript 文件中的 ruby​​?

Ruby on Rails 中的 Runner

Cpanel 中的 Ruby On Rails 问题

ruby on rails 中的 Coffeescript 编译错误

覆盖Ruby on Rails中的保存