2012-02-29 4 views
0

У меня есть модель голосования с действиями «как», «не нравится». У меня есть маршрут для каждого из этих действий. Когда я вызываю действия, я возвращаю ответ json. Моя проблема в том, что во-первых, мне нужно выяснить, как отправить запрос на мои действия типа «like» или «dislike». Мне нужно получить доступ к параметрам ruby ​​/ rails из моего javascript (я отправляю запрос ajax с использованием jQuery $ .getJSON), так что, например, я могу создать запрос на правильный элемент. Помощь очень ценится.Как визуализировать js rails 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 **, затем я отвечаю with.js, чтобы обновить dom. Ваш метод кажется более чистым, но не использует рельсы, встроенные в *: remote *. Большое спасибо. – berto77

+0

Я предпочитаю использовать 'form_for ... remote: true', когда могу (и когда это имеет смысл, как правило, для обновления ресурсов), и связывание с Rails' ajax: success', et al. от JavaScript. Отличная запись: http://www.alfajango.com/blog/rails-3-remote-links-and-forms/ –

+0

Брэндон, спасибо за обновление. Это очень много для новичков-рельсов. Спасибо за ссылку тоже. Теперь все ясно. Приветствия. – berto77

Смежные вопросы