在我的Rails應用程序,我有以下方法:如何爲散列使用變量?
def navigation_menu(items)
# raise items.class.to_s
# raise items.to_yaml
render partial: 'global/navigation_menu', locals: items
end
如果我取消了該方法的第一線,顯示爲異常文本「哈希」,證明items
是一個哈希值。如果我取消註釋第二行,那麼會顯示哈希的成員,所以我也知道它不是空的。
這種方法失敗,出現以下錯誤:
comparison of String with :navigation_menu failed
如果我更換locals: items
與locals: { dummy_key: 'dummy value' }
,它的工作原理。
爲什麼我不能用我的items
變量來替代明確哈希?
這是我目前的解決方法。但是,我不想要那個中介'item'變量。':''(基本上,我試圖避免必須執行'local_assigns [:items]'。我想我不明白爲什麼我不能直接傳遞一個散列,而不必現場創建一個散列無論如何''+ 1'。 – ClosureCowboy