我对Rails应用程序在我的Ruby的一个辅助模块,和辅助(ApplicationHelper
有一个名为is_same_user?
的方法,它是像这样定义:Ruby on Rails的助手缓存评估值
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助手缓存?这是我可以得出的唯一可能的结论。我很难追查这可能是什么,任何帮助将不胜感激。
你有没有为这个帮助器方法编写任何测试或规范? –
不,我没有,但是我已经在一系列不同的条件下手动测试了它。 –