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 中访问 rails 助手和嵌入资产 javascript 文件中的 ruby?