我的应用程序仅基于ajax调用,但我需要不断检查会话变量中的减少值。由于某种原因,我创建了一个带有redirect_to :action => :action_name
的before_filter,这对我不起作用。我在log Filter chain halted as [:method_name] rendered_or_redirected.
中看到了,但事实上没有任何反应。
有谁知道这是什么问题?我想使用过滤器来创建代码DRY,但看起来它没有处理ajax请求:(
代码非常简单(实际上是游戏) 这是挂在before_filter上的方法
def check_winner
if session[:game].user.cards.length == 0 || session[:game].pc.cards.length == 0
flash[:notice] = "The end"
redirect_to :action => "win"
end
end
session [:game]保留了几个我在游戏开始时初始化的对象。我从未使用带有ajax的rails过滤器,但它始终使用普通的http请求
用户通过link_to_remote
在任何地方触发操作我试图在过滤器方法上呈现ajax页面更新,但它只是抛出了我的渲染错误:(
答案 0 :(得分:0)
我认为您不想在before_filter中重定向您是否使用它重定向到特定于AJAX的操作?更好的选择是使用responds_to块来响应特定请求,或者只是使用一个特定于ajax的url来调用。