jfo*_*erg 0 javascript ruby-on-rails ruby-on-rails-3
在我的Rails应用程序中,我需要脚本以不同的方式运行,具体取决于它们所服务的控制器和操作.所以在我的ApplicationController中,我将这些提供为:
before_filter :save_action_controller
def save_action_controller
@action = action_name
@controller = controller_name
end
Run Code Online (Sandbox Code Playgroud)
在一个erb过滤的javascript文件中我有这个:
window.controller = <%= @controller || 'undefined' %>;
window.action = <%= @action || 'undefined' %>;
Run Code Online (Sandbox Code Playgroud)
但似乎@controller和@action在这种情况下都是零?但是,我可以从视图和帮助程序中访问它们.另外,如果我真的试图访问"不存在的"变量,我不会看到如何在不引发异常的情况下实现这一目标?
从javascript访问此内容需要做什么?有首选方法吗?
这个railscast剧集有关于将数据传递给javascript的一些信息.
有几种方法可以做到,但一种不错的方法是使用数据属性(如railscast中所示).您可以使用html定义它,如下所示:
<h1>Products</h1>
<div id="products" data-url="<%= products_url %>">
Loading products...
</div>
Run Code Online (Sandbox Code Playgroud)
然后通过javascript访问它
jQuery ->
alert $('#products').data('url')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1680 次 |
| 最近记录: |