2010-07-13 56 views

回答

8
class UserSession < Authlogic::Session::Base 
    # Don't use cookie AuthLogic behaviour 
    skip_callback :persist, :persist_by_cookie 
    skip_callback :after_save, :save_cookie 
    skip_callback :after_destroy, :destroy_cookie 
end 
+0

感谢 - 这看起来比我的解决方案好得多:-)我现在在一个rails 2项目上,不久,升级到rails 3,然后我会尝试它。 – 2010-10-22 04:12:58

+0

刚刚实施这个,很棒! – 2010-12-13 22:58:07

+3

对我来说(rails 3.1)我不得不使用'skip_callback:destroy,:after,:destroy_cookie'(对我自己的用例进行解释) – iainbeeston 2012-09-19 02:07:14

2

after_save数组可通过Model.after_save访问,它是一个ActiveSupport::Callbacks::Callback对象的数组。你可以从模型

self.after_save.delete_if{|callback| callback.method == :do_something_callback} 
+0

看起来不错内运行这个...哪来/时会怎么做呢?在类定义中? – 2010-07-15 16:38:00

+1

我会这么说,正确与您的其他回调。只要它在你的插件之后加载,那么它应该是好的。 – 2010-07-15 17:06:46

+0

如果你有兴趣,下面是我解决我的特定问题的解决方案:http://stackoverflow.com/questions/3162867/how-can-i-get-authlogic-to-use-the-rails-session -in-own-own-cookie – 2010-07-28 10:01:21