Omniauth-Twitter - 原始个人资料图片

Omniauth-Twitter - original profile image

我正在使用 Omniauth-Twitter gem 对用户进行身份验证并显示他们的个人资料图片。当我尝试通过 link_to 方法在我的 users#show 视图中显示全尺寸用户配置文件图像时,图像被调整为 41x41 像素。有什么方法可以得到标准图像 URL (256x256px)?

我的omniauth.rb初始化器默认图片大小设置为original,如下:

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :twitter, "...", "..."
    {
        ...

        :secure_image_url => 'true',
        :image_size => 'original',

        ...
    }
end

我的 User 模型将 Twitter 图片 URL 附加到 Users table 中的列,如下所示:

class User < ActiveRecord::Base

    def self.from_omniauth(auth)
        where(provider: auth.provider, uid: auth.uid).first_or_create do |user|
            ...
            user.image_url = auth.info.image
            ...
        end

    end

end

我尝试过的:

  1. 从数据散列中删除 :image_size
  2. width:height: 属性传递给 link_to
  3. image_size 键的值更改为 .extra.raw_info.profile_image_url

我找到的解决方案可能会违反强大的配置约定原则:

删除任何确定图像大小的调用(即从 URL 字符串中使用 .gsub! 方法,如下所示:

"profile_image_path_normal.jpg".gsub!("_normal","") #replaces "_normal" with nothing

很想听听其他建议。