我的 Ruby on Rails 应用程序中有一个助手模块,助手 (ApplicationHelper
有一个名为 的方法is_same_user?
,它的定义如下:
def is_same_user?(user)
!user.nil? && user_signed_in? && current_user.username == user.is_a?(User) ? user.username : user
end
当我使用此辅助方法时,该值似乎偶尔发生变化。偶尔它会返回 true 并且只返回 true,偶尔它会正常运行,偶尔它会返回 false 并且只返回 false。我知道失败的不是逻辑,因为我已经换掉了逻辑来代替方法调用,并且它运行得非常好。我知道没有定义另一种方法,因为is_same_user?
它可以被调用。
这让我想知道它是否是某种 Ruby on Rails 辅助缓存?这是我能得出的唯一可能的结论。我在追踪这可能是什么方面遇到了很多麻烦,任何帮助将不胜感激。