从JavaScript调用ruby方法或从RoR中的视图传递参数

时间:2012-06-12 08:53:51

标签: javascript ruby-on-rails

我查看了网站列表。有关网站的详细信息以缩进模式显示。

当用户点击某些图片时,我需要显示相应的网站详细信息。

我在使用这篇文章:Passing parameters to/from JavaScript & Rails

以下是我的代码:

 <table>
   <% @websites.each do |website| %>
  <%if (current_user.id == website.user_id)%>
  <tr>
    <td>  <%= link_to(image_tag("/images/caret-horizontal.png",website_path(website)) %> </td>
<td>  
<h4><%= website.name %></h4> </td>

 </tr>
 <table id="<%= website.id %>">
 <tr >
   <td >
  <td >
  <%= website.url %>
  </td>
  </td>
</tr>
 <tr id="<%= website.id %>">
<td >
<td >
<%= website.category  %>
</td>
</td>
 </tr>
 <tr id="<%= website.id %>">
 <td>
<td><%= website.language %></td>
 </td>

   

<%end%>

 <%end%>
 </table>

application.js中的代码:

   $("#table").show();//here I need something like var table = <%= website.id%>

我应该如何选择合适的网站ID?

或者我应该在数据中传输website.id?

我怎么能以另一种方式做到这一点?

1 个答案:

答案 0 :(得分:1)

有一个很棒的教程:http://railscasts.com/episodes/324-passing-data-to-javascript 本教程提供了几种将数据从rails传递到js的方法。 :)

无论如何,将您的表ID更改为任何值,并将data-id添加到您的表

<table id="table-data" data-id="<%= website.id %>">

现在你可以得到价值:

var yourWebsiteId = $("#table-data").attr("data-id");