我想为我的应用程序添加一个投票,以及#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用户可以投票给一个想法 非常感谢
答案 0 :(得分:0)
检查您的日志。据我所知,Rails在你做之前正在捕获请求,所以请求可能正在发生,但你的自定义javascript太晚了。
这是因为您在链接中指定了remote: true
。这意味着Rails(自动包含jquery_ujs
)将作为AJAX请求执行此链接。
如果您想自己处理请求,请忽略remote: true
;或者挂钩Rails的AJAX请求。
只是一个想法(用心,所以可能不对):
$('a[data-vote]').bind('ajax:beforeSend', function() {
// something
});