2013-02-12 5 views
0

Я использую haml и до того, как у меня нет опыта работы с haml. Я UJS вызова пожарной, код нижеКак визуализировать js с помощью haml rails

= link_to "this is the best",cast_vote_cast_votes_path(job_application.id),:id => job_application.id ,:remote => true ,:class => 'btn btn-primary best-button' 

после этого вызова срабатывали мою функцию «cast_vote» выполнить и у меня есть Templete с именем «cast_vote.js.erb». В котором я просто хочу выполнить оповещение js. Почему предупреждение не срабатывает?

Я не знаю. Любая помощь, пожалуйста ..

+0

Как выглядит ваш файл 'cast_vote.js.erb'? – PinnyM

+0

это всего лишь одно предупреждение («ok») – Kashiftufail

+0

это ответ вызова ajax

alert('ok')
Kashiftufail

ответ

2

Попробуйте добавить это в шаблон Haml:

:javascript 
    $(document).ready(function() { 
    $(".best-button").click(function() { 
     alert("ok"); 
    }); 
    }); 
+0

Это покажет предупреждение, но не как ответ на запрос ajax. – PinnyM

1

Вам нужно настроить обратный вызов для запроса удаленного АЯКСА для обработки ответа. Добавьте этот сценарий в файл Haml:

$('.best-button') 
    .bind('ajax:success', function(event, data, status, xhr){ 
    eval(data.response); 
    }); 

И изменить js.erb, чтобы вернуть объект JSON в виде {response: 'alert("ok")'}.

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