用“thumbs_up”投票不起作用

时间:2012-04-30 14:22:24

标签: javascript ruby-on-rails

我想为我的应用程序添加一个投票,以及#34; Thumbs_up"但是当我点击" vote_up"或" vote_down",没有任何反应,我确实解决了这个问题 我在鳕鱼的鳕鱼是:

  = javascript_include_tag 'votecount'
        = t "idea.colaboration.accept.what_do_you_want_html", user: @collab.user.name
        .buttons[style="float:right"]
          button[type="submit"]
           = link_to image_tag('thumb_up.png'), vote_up_idea_path(@idea), data: {vote: "up"}, remote: true,:method => :post
          button[type="submit"]
           = link_to image_tag('thumb_down.png'), vote_down_idea_path(@idea), data: {vote: "down"}, remote: true,:method => :post

在" votecount.js"中,我有:

$(function(){
    $(".ratelink").click(function(){
        var val = $(this).attr('updown');
        var theid = $(this).attr('theid');
        $("#votewrapper").block({ //blocks rate-rates while processing
            message: null,
            overlayCSS: {
                backgroundColor: '#FFF',
                opacity: 0.6,
                cursor: 'default'
            },
        });
    if (val == "up") {
    $.ajax({
            type: 'PUT',
            url: "/idea/vote_up?id="+theid,
            success: function(){
                        $("#votewrapper").unblock();
                        }   
               });
    } else {
         $.ajax({
            type: 'PUT',
            url: "/idea/vote_down?id="+theid,
            success: function(){
                        $("#votewrapper").unblock();
                        }   
               });
    }
})

(evry用户可以投票给一个想法 非常感谢

1 个答案:

答案 0 :(得分:0)

检查您的日志。据我所知,Rails在你做之前正在捕获请求,所以请求可能正在发生,但你的自定义javascript太晚了。

这是因为您在链接中指定了remote: true。这意味着Rails(自动包含jquery_ujs)将作为AJAX请求执行此链接。

如果您想自己处理请求,请忽略remote: true;或者挂钩Rails的AJAX请求。

只是一个想法(用心,所以可能不对):

$('a[data-vote]').bind('ajax:beforeSend', function() {
  // something
});