2012-02-29 86 views
0

我有一个“喜欢”,“不喜欢”行动的投票模式。我有一个这些行动的路线。当我调用这些动作时,我将返回一个json响应。我的问题是,首先,我需要弄清楚如何将查询发送给我喜欢/不喜欢的动作。我需要从我的javascript访问ruby/rails变量(我使用jQuery的$ .getJSON发送ajax请求),以便例如我可以创建正确项目的请求。非常感谢。如何呈现JS轨3

回答

4

一种流行的技术是将数据附加到dom。例如(伪如下):

<% items.each do |item| %> 
    <div class="like_button" data-item-id="<%= item.id %>">Like</div> 
<% end %> 

,并在JavaScript:

$(".like_button").on("click", function() { 
    var item_id = $(this).data('item-id'); // from the dom 
    // construct Ajax request for item_id 
}); 
+0

布兰登,谢谢。我开始像这样:** link_to“like”,“path_to_json”,:remote => true,:method =>:post **,然后我用like.js回应以更新dom。您的方法看起来更清晰,而不使用内置*:remote *的导轨。非常感谢。 – berto77 2012-02-29 19:38:24

+0

我倾向于在可以的时候使用'form_for ... remote:true'(当它有意义时,通常用于更新资源),并且绑定到Rails的'ajax:success',等等。来自JavaScript。伟大的写作:http://www.alfajango.com/blog/rails-3-remote-links-and-forms/ – 2012-02-29 19:55:18

+0

布兰登,感谢您的更新。这对于rails新手来说有很大的帮助。感谢您的链接了。它现在清楚了。干杯。 – berto77 2012-02-29 21:08:28