2015-01-09 2 views
0

Я использую Omniauth-Twitter gem для аутентификации пользователей и просмотра их изображений профиля. Когда я пытаюсь отобразить полноразмерное изображение профиля пользователя в моем users#show, с помощью метода link_to изображение будет изменено до 41x41px. Есть ли способ получить стандартный URL изображения (256x256px)?Omniauth-Twitter - исходное изображение профиля

Мой omniauth.rb инициализатор имеет размер изображения по умолчанию установлен в original, следующим образом:

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

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

     ... 
    } 
end 

и моя User модель добавляет URL изображения Twitter на колонку в Users таблице следующим образом:

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. Passing width: и height: свойства в link_to
  3. Изменение значения ключа image_size в .extra.raw_info.profile_image_url

ответ

0

Решение, которое я нашел, вероятно, нарушают могучую конвенции над конфигурация принцип:

удалить любые вызовы, определяющие размер изображения (т.е. из строки URL, используя .gsub! метод, как так:

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

Хотелось бы услышать другие предложения.

Смежные вопросы