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
我尝试过的:
- 从数据散列中删除
:image_size
对
- 将
width:
和 height:
属性传递给 link_to
- 将
image_size
键的值更改为
.extra.raw_info.profile_image_url
我找到的解决方案可能会违反强大的配置约定原则:
删除任何确定图像大小的调用(即从 URL 字符串中使用 .gsub!
方法,如下所示:
"profile_image_path_normal.jpg".gsub!("_normal","") #replaces "_normal" with nothing
很想听听其他建议。
我正在使用 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
我尝试过的:
- 从数据散列中删除
:image_size
对 - 将
width:
和height:
属性传递给link_to
- 将
image_size
键的值更改为.extra.raw_info.profile_image_url
我找到的解决方案可能会违反强大的配置约定原则:
删除任何确定图像大小的调用(即从 URL 字符串中使用 .gsub!
方法,如下所示:
"profile_image_path_normal.jpg".gsub!("_normal","") #replaces "_normal" with nothing
很想听听其他建议。