Ruby on rails 为什么我会得到一个“;can';t将符号转换为哈希“;在Rails 3中使用helper inside helper时?

Ruby on rails 为什么我会得到一个“;can';t将符号转换为哈希“;在Rails 3中使用helper inside helper时?,ruby-on-rails,helper,Ruby On Rails,Helper,这是我的代码: 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?(u

这是我的代码:

   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_图像_标记”是此帮助程序:

我从部分调用tiny_user_image:

  1 = div_for review do
  2   = link_to review.title, review_path(review)
  3   = tiny_user_image(review.user)
我不知道为什么在tiny_user_图像传递对象用户时出错。当我在IRB中使用调试器时,它看起来很好


谢谢大家!

之所以出现此错误,是因为在传递给gravatar\u image\u tag()的哈希中指定了一个符号作为:gravatar键的值

在github上的示例中,您可以看到它在那里需要一个散列

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