-1

我是 ruby​​ on rails 的新手。我想获取从 ruby​​ 到 java 脚本的值。这是我正在使用的代码。

我想要的是我想data用 ruby​​ 的速度和时间值创建一个 json 格式的变量。使用了上面的静态值

 <table border='1' align='center' class="table table-striped" >                         
  <tr>                          
    <th>Id</th>     
    <th>Speed</th>
    <th>Time</th>
  </tr>
<%  @properties.each do |c| %> 
  <tr>
    <td><%= c.device_id %></td>
    <td><%= c.speed %></td>  
    <td><%= c.time %></td>  
  </tr>
<% end %>                   
</table>
<p><div align='center'>Available Time vs Speed Details are listed below</div> </p>
<div id="bar-demo" align="center">
<script type="text/javascript">
var data = "[[{ 'time': '1', 'speed': '0' }, { 'time': '2', 'speed': '1' }]]
</script></div>

在javascript中我可以使用这样的ruby代码吗?

<script type="text/javascript">
<%  @properties.each do |c| %> 
    var data = "[[{ 'time': 'c.time', 'speed': 'c.speed' }]]
<% end %>        
</script>

我也需要得到这样的数据(以逗号分隔的形式)

var data = "[[{ 'time': '1', 'speed': '0' }, { 'time': '2', 'speed': '1' }]]

怎么可能。

4

3 回答 3

4

试试这个,(未测试)

<script type="text/javascript">
  var data = <%=[@properties.map {|c| {time:c.time, speed:c.speed}}].to_json%>
</script>
于 2013-03-21T10:25:29.870 回答
1

你的意思是说JSON数据。to_json返回一个 JSON 字符串

http://api.rubyonrails.org/classes/ActiveModel/Serializers/JSON.html

http://apidock.com/rails/ActiveRecord/Serialization/to_json

<script type="text/javascript">
   var data = <%= @properties.to_json(:only => [:time, :speed]) %>
</script>
于 2013-03-21T10:17:35.820 回答
1

创建方法并将其传递给 .js 文件 -

html.erb

abc(c.device_id, c.speed, c.time)

JS文件

function abc(device_id, speed, time){
   alert(""+device_id)
   alert(""+speed)
   alert(""+time)
 }
于 2013-03-21T11:02:30.150 回答