Javascript 在 Rails 上获取当前控制器和操作

Javascript gets current Controller and Action on Rails

有没有办法javascript知道rails中的当前控制器和动作?

我有这个想法为当前控制器和控制器创建一个隐藏容器。但我想知道 Javascript 是否具有了解当前控制器和动作的功能。

Javascript 运行客户端并且完全不知道什么是控制器或操作,因此没有可用于获取此类信息的函数。

但是您可以教 javascript 这些概念。我会改变布局来做某事(假定为 haml):

%body{data: {controller: params[:controller], action: params[:action]}}

然后您可以使用 jQuery 获取此数据:

controllerName = $('body').data('controller')
actionName = $('body').data('action')

现在唯一的问题是,你为什么要这样做。客户端就是客户端,将客户端逻辑与服务器端实现混合可能很危险。

有一个Gem就是为了这个目的,它叫做Paloma。 您可以根据当前的 controller_name 和 action_name 到 运行 JS 代码创建挂钩,具体取决于您所在的位置。