在padrino中过滤器问题之前

时间:2014-04-24 17:54:53

标签: ruby sinatra padrino

我试图在padrino中创建一个前置过滤器链,看起来像这样看起来像

before do
  set_current_user
  track_order_ip
  !current_user and pass
  ## don't allow the next filter other filter to run if no current user 
  customer_inactivity!
  skip_enforce!
  ## so the theory is this if a users is is not enforced he should not be allowed to execute enforce! before filter
  enforce!
end

现在所有过滤器都会在链中执行,但如果 current_user 不存在,我希望删除(即pass)由此处理的过滤器链处理({{1代码

但是尝试在padrino中执行类似这样的操作会导致应用程序多次重定向同一路径,然后因以下错误而中断。

!current_user and pass

at

ArgumentError at /myaccount/users/authenticate uncaught throw :pass

我觉得奇怪,我无法理解的是,为什么?它不在Padrino工作(因为我知道Padrino内部使用Sinatra),因为我确实在sinatra中编写了一个概念验证类似的应用程序(可以在here上找到)并且似乎只是在没有任何问题的情况下开箱即用< / p>

最后here padrino代码

现在任何人都可以给我一些指针,因为我在padrino中做错了,在概念验证中正确实现了sinatra app

由于

0 个答案:

没有答案