У меня есть пользовательский вид, где я разрешаю пользователю загружать собственное изображение или разрешать ему импортировать изображение из своего профиля LinkedIn. My LinkedIn OAuth отлично работает и возвращает URL-адрес изображения, расположенного на связанных серверах. У меня есть метод picture_from_url в моей модели User, который вызывается UsersController в его методе обновления. Я устанавливаю URL-адрес переменной сеанса, а затем отправляю его методу модели в контроллере. Это, однако, не обновляет изображение для пользователя. У меня есть установка papertrail gem, чтобы он мог использовать изображение со своего компьютера и просто изменить его профиль.Вызов метода модели с контроллера
Мой метод Модель
def picture_from_url(url)
encoded_url = URI.encode(url.to_s)
avatar= URI.parse(encoded_url)
end
Мой контроллер вызовов
def update
@user = User.find(params[:id])
@user.picture_from_url(session[:linkedin_picture])
respond_to do |format|
if can?(current_user, @user)
if @user.update_attributes(user_params)
format.html { redirect_to @user, notice: 'User was successfully updated.' }
format.json { render_success @user }
else
format.html { render action: 'edit' }
format.json { render_error @user }
end
else
format.html { render action: 'edit', status: :unprocessable_entity }
format.json { render_error @user }
end
end
end
Большое спасибо! Это помогло! :) –