Rails 3 Ajax сообщение об успехе - PullRequest
1 голос
/ 13 марта 2011

У меня есть система голосования, которую я пытаюсь использовать в Ajax.

В представлении у меня есть:

<div id="yes"><%=button_to 'Vote',vote_path(c),:id=>c.id,:remote=>true,:html=>{:class=>"vote"}%></div>

and the controller goes:

`def voice

    number=Video.find(params[:id])
    number.increment!(:votes)
    if number.update_attributes(params[:votes])
       flash[:notice] = "Vote Recorded Successfully."

    render :text => number.votes  

   end`

Когдапользователь голосует, я хочу скрыть кнопку голосования и отобразить сообщение типа «Спасибо за голосование».

Итак, в моем application.js у меня есть

$(document).ready(function(){
    $(".vote").bind("ajax:success",function(evt,xhr,settings){
       var $ent=$(this);
        $ent.find(("div.yes")).hide(100);
    }
    }
);

Пожалуйста, укажите мнена какой-то ресурс, чтобы выполнить это. Спасибо.

Ответы [ 2 ]

1 голос
/ 07 ноября 2012

Вы должны вернуть что-то, что jQuery может обработать, обычный JSON работает нормально:

def vote
  ...
  render :json => {:votes => number.votes}
end
0 голосов
/ 13 марта 2011

Вместо рендеринга: текст, рендеринг представления erb.js. Это называется ненавязчивым JavaScript.

Смотрите здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...