Javascript Rails 3警报不使用Ajax
我已经在rails应用程序的ajax中实现了一个“like”按钮,我想知道为什么alert不起作用 在我的控制器中Javascript Rails 3警报不使用Ajax,javascript,ruby-on-rails,ajax,alert,Javascript,Ruby On Rails,Ajax,Alert,我已经在rails应用程序的ajax中实现了一个“like”按钮,我想知道为什么alert不起作用 在我的控制器中 def like @post = Post.find(params[:id]) if current_user if @like.empty? @post.num_likes += 1 @post.save else alert = "You already l
def like
@post = Post.find(params[:id])
if current_user
if @like.empty?
@post.num_likes += 1
@post.save
else
alert = "You already liked the post :)"
end
end
end
还有我的like.js.erb文件
$("#post_like_<%= @post.id %>").html("<%= @post.num_likes %>");
$(“#post_ulike_u”).html(“”);
我最初希望在用户未登录时将其重定向到登录页面,但我了解到在XML请求中不可能使用重定向。当用户单击“喜欢”按钮,同时显示警报消息时,我是否可以请求用户登录
我认为在我的js文件中包含如下引导是在我的控制器中使用“警报”的一种解决方法,但它没有起作用。我希望能看到一个爆米花下的喜欢的数字
$("#post_like_<%= @post.id %>").html("<%= @post.num_likes %>");
$("#post_like_<%= @post.id %>").popover('show')
$(“#post_ulike_u”).html(“”);
$(“post#u like_uu”).popover(“show”)
有人能回答我的问题吗?
我感谢你的帮助 要显示由Ajax请求触发的flash消息,可以在like.js.erb文件中执行类似操作(这假定页面上存在id为“flash”的分区): 但是,只显示一条提示用户登录的flash消息就足够了,其中包含登录路径的链接
<% if @alert %>
// displays the alert message and makes it "blink"
$("#flash").html("<%= escape_javascript(@alert)%>").effect('highlight', {}, 1500);
<% else %>
$("#post_like_<%= @post.id %>").html("<%= @post.num_likes %>");
<% end %>
<% unless current_user %>
window.location = '<%= new_user_session_url %>';
<% end %>