簡體   English   中英

為什么在 Rails 3 中使用 helper 時會出現“無法將符號轉換為哈希”?

[英]Why do I get a “can't convert symbol into hash” when using helper inside helper in Rails 3?

這是我的代碼:

   def tiny_user_image(user)
  8    if user_signed_in?
  9       
 10       gravatar_image_tag(user.email, :gravatar => :identicon, :size => 20)
 11      
 12     
 13     elsif user_signed_in? && current_user.friends.include?(user)
 14 
 15     
 16     
 17     else #user is not signed in
 18       
 19       gravatar_image_tag(user.email, :gravatar => :identicon, :size => 20)
 20     end
 21   end
 22 
 23 end

'gravatar_image_tag' 是這個助手: https://github.com/mdeering/gravatar_image_tag

我從部分調用 tiny_user_image:

  1 = div_for review do
  2   = link_to review.title, review_path(review)
  3   = tiny_user_image(review.user)

我不知道為什么在傳遞 object 用戶的 tiny_user_image 時出現錯誤。 當我在 IRB 中使用調試器時,它看起來很好......

謝謝你!

您收到此錯誤是因為您在傳遞給 gravatar_image_tag() 的 hash 中將符號分配為:gravatar 鍵的值。

在 github 的示例中,您可以看到它在那里期待 hash

gravatar_image_tag('junk', :alt => 'Github Default Gravatar', :gravatar => { :default => 'http://github.com/images/gravatars/gravatar-80.png' })

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM