【问题标题】:How do you fix this Ruby on Rails and Gravatar gem bug?你如何修复这个 Ruby on Rails 和 Gravatar gem 错误?
【发布时间】:2011-06-09 02:57:45
【问题描述】:

我正在尝试使用 gravatar_image_tag RoR 插件,当我启动 rails 控制台或 rails 服务器时,它给了我这个错误。我该怎么做才能解决它?

/Library/Ruby/Gems/1.8/gems/actionpack-3.1.0.beta1/lib/action_view/helpers/asset_tag_helpers/asset_paths.rb:66: uninitialized constant ActionView::Helpers::AssetTagHelper::AssetPaths::Mutex (NameError)
    from /Library/Ruby/Gems/1.8/gems/actionpack-3.1.0.beta1/lib/action_view/helpers/asset_tag_helper.rb:3:in `require'
    from /Library/Ruby/Gems/1.8/gems/actionpack-3.1.0.beta1/lib/action_view/helpers/asset_tag_helper.rb:3
    from /Library/Ruby/Gems/1.8/gems/actionpack-3.1.0.beta1/lib/action_view/helpers.rb:39
    from /Library/Ruby/Gems/1.8/gems/actionpack-3.1.0.beta1/lib/action_view/base.rb:134
    from /Library/Ruby/Gems/1.8/gems/gravatar_image_tag-1.0.0/lib/gravatar_image_tag.rb:97
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.13/lib/bundler/runtime.rb:68:in `require'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.13/lib/bundler/runtime.rb:68:in `require'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.13/lib/bundler/runtime.rb:66:in `each'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.13/lib/bundler/runtime.rb:66:in `require'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.13/lib/bundler/runtime.rb:55:in `each'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.13/lib/bundler/runtime.rb:55:in `require'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.13/lib/bundler.rb:120:in `require'
    from /Users/pickhardt/projects/sample_app/config/application.rb:7
    from /Library/Ruby/Gems/1.8/gems/railties-3.1.0.beta1/lib/rails/commands.rb:51:in `require'
    from /Library/Ruby/Gems/1.8/gems/railties-3.1.0.beta1/lib/rails/commands.rb:51
    from /Library/Ruby/Gems/1.8/gems/railties-3.1.0.beta1/lib/rails/commands.rb:48:in `tap'
    from /Library/Ruby/Gems/1.8/gems/railties-3.1.0.beta1/lib/rails/commands.rb:48
    from script/rails:6:in `require'
    from script/rails:6

【问题讨论】:

    标签: ruby-on-rails gem gravatar


    【解决方案1】:

    您的插件可能与您的 rails 版本不兼容。没有插件,Gravatar 图像并不难。这是 Ryan Bates 为Gravatars提供的解决方案

    application_helper.rb

    def avatar_url(user)
      if user.avatar_url.present?
        user.avatar_url
      else
        default_url = "#{root_url}images/guest.png"
        gravatar_id = Digest::MD5.hexdigest(user.email.downcase)
        "http://gravatar.com/avatar/#{gravatar_id}.png?s=48&d=#{CGI.escape(default_url)}"
      end
    end
    

    用户/index.html.erb

    <%= image_tag avatar_url(user) %>
    

    【讨论】:

      猜你喜欢
      • 2017-06-15
      • 1970-01-01
      • 2013-01-13
      • 1970-01-01
      • 2015-07-15
      • 2019-03-01
      • 1970-01-01
      • 2014-03-02
      • 2018-04-04
      相关资源
      最近更新 更多