我對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助手緩存?這是我可以得出的唯一可能的結論。我很難追查這可能是什麼,任何幫助將不勝感激。
你有沒有爲這個幫助器方法編寫任何測試或規範? –
不,我沒有,但是我已經在一系列不同的條件下手動測試了它。 –