Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
RubyonRails:如何将动态数据从服务器传输到javascript?_Javascript_Ruby On Rails_Client Server - Fatal编程技术网

RubyonRails:如何将动态数据从服务器传输到javascript?

RubyonRails:如何将动态数据从服务器传输到javascript?,javascript,ruby-on-rails,client-server,Javascript,Ruby On Rails,Client Server,RoR具有渲染视图的控制器。有一天,我希望一个控制器不仅能呈现一个特定的视图,而且能在呈现后使用来自contoller(@product)的数据运行一些javascript代码 1内联javascript 所以我去了我的产品/show.html.erb,写了如下内容: <%= javascript_tag "alert('#{@product.name} is just awesome!')" %> $(document).ready(function(){ $('*[dat

RoR具有渲染视图的控制器。有一天,我希望一个控制器不仅能呈现一个特定的视图,而且能在呈现后使用来自contoller(@product)的数据运行一些javascript代码


1内联javascript 所以我去了我的产品/show.html.erb,写了如下内容:

<%= javascript_tag "alert('#{@product.name} is just awesome!')" %>
$(document).ready(function(){
  $('*[data-product-name]').each(
    alert($(this).data('product-name') + ' is just awesome!');
  );
});

4再向服务器发送一个请求 无论如何,如果您希望能够缓存视图文件和资产,似乎将数据传输到javascript的唯一方法是使用额外的Ajax请求。我想知道创建一个单独的操作将@product发送给客户是否是一个好的做法

有人会说,在呈现视图时,从服务器向javascript发送数据的最佳方式是什么?为什么

$(document).ready(function(){
  alert('<%= @product.name%> is just awesome!');
});
<div class="product" data-product-name="<%= @product.name %>">
$(document).ready(function(){
  $('*[data-product-name]').each(
    alert($(this).data('product-name') + ' is just awesome!');
  );
});