Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Rails 3警报不使用Ajax_Javascript_Ruby On Rails_Ajax_Alert - Fatal编程技术网

Javascript Rails 3警报不使用Ajax

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

我已经在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 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 %>