Ruby on Rails : 如何将值传递给 javascript
Ruby on Rails : how to pass value to javascript
我想将值从 <%= controller.controller_name %> <%= controller.action_name %> 传递到 javascript 如下
return (document.body.className += " load-done
'<%= controller.controller_name %>' '<%= controller.action_name %>'
");
但它不起作用,任何人都可以对此提出建议吗?
问题缺少信息,所以我猜您想将一些数据直接从控制器传递到您的 JS 代码。有两种“正常”方法可以做到这一点。第一种是直接调用控制器作为 http 调用,return 响应作为 json。
第二种方法是将数据作为 class 变量传递,然后您可以从 html 文件的视图文件夹中访问它。在这里,您可以将变量传递给 div、span 或其他任何内容,并通过在 JS 中找到 html 标记来在 JS 中访问它,如下所示:
# controllers:
def some_controller_method
@temp = 'example data, could be any type'
end
# views
<%= content_tag :div, class: "some_class", data: {temp: @temp} do %>
<% end %>
# JS
$('.some_class').data('temp')
我想将值从 <%= controller.controller_name %> <%= controller.action_name %> 传递到 javascript 如下
return (document.body.className += " load-done
'<%= controller.controller_name %>' '<%= controller.action_name %>'
");
但它不起作用,任何人都可以对此提出建议吗?
问题缺少信息,所以我猜您想将一些数据直接从控制器传递到您的 JS 代码。有两种“正常”方法可以做到这一点。第一种是直接调用控制器作为 http 调用,return 响应作为 json。 第二种方法是将数据作为 class 变量传递,然后您可以从 html 文件的视图文件夹中访问它。在这里,您可以将变量传递给 div、span 或其他任何内容,并通过在 JS 中找到 html 标记来在 JS 中访问它,如下所示:
# controllers:
def some_controller_method
@temp = 'example data, could be any type'
end
# views
<%= content_tag :div, class: "some_class", data: {temp: @temp} do %>
<% end %>
# JS
$('.some_class').data('temp')