【发布时间】:2016-03-27 00:10:24
【问题描述】:
所以我有一个网络应用程序可以让用户注册 twitter。因此,个人资料图片和名称与他们的用户帐户相关联。
他们还可以创建个人资料(另一个模型),在这些个人资料中他们可以填写姓名、照片等。
我成功地从 Twitter 上的用户名中预填充了名称字段,如下所示:
在我的profiles_controller.rb中:
def new
@profile = Profile.new :twitter => current_user.name
end
我想做的是在这个表单中导入用户图像(从 twitter 导入)。
所以我尝试了:
def new
@pin = Pin.new :twitter => current_user.name, :image => current_user.image
end
但我在表单中得到的只是一个损坏的图像预览。
当我使用回形针在我的应用程序上上传图像时,有没有办法将 twitter 图像传输到表单内的回形针?我不知道该怎么做。任何帮助将不胜感激。
编辑:
这是我从 twitter Oauth 检索用户图像的用户模型的一部分: 用户.rb:
def self.from_omniauth(auth)
where(provider: auth.provider, uid: auth.uid).first_or_create do |user|
user.provider = auth.provider
user.uid = auth.uid
user.name = auth.info.nickname
user.image = auth["info"]["image"].sub("_normal", "")
end
end
我在视图中这样称呼用户图像:
<%= image_tag user.image %>
但问题是我如何将用户图像上传到个人资料表单:
我有:app/profile/views/_form.html.erb:
<%= f.file_field :image %>
如果他不想从其 Twitter 个人资料中上传不同的个人资料图片,我该如何欺骗这个 f.file_field 以自动导入 users.image?
【问题讨论】:
标签: ruby-on-rails paperclip twitter-oauth