【问题标题】:How To Move a Paperclip Attachment Keeping Path Settings In Mind?如何在记住路径设置的情况下移动回形针附件?
【发布时间】:2012-01-27 04:31:12
【问题描述】:

我有两个模型。一个是图像,它有一个名为“文件”的附件并保存到“/照片”。这些将是简单的图像,可以在相册中。我也有用户有一个名为“头像”的附件,它保存到“头像/等”。如何将一个附件 (@image.file) 复制到我的用户以将其保存为他的头像?我希望用户能够选择他/她在他们的相册图像中拥有的图像并将其用作头像。我想复制它,所以如果用户从他们的相册中删除了该图像,它不会删除他们的头像。

用户模型片段:

has_attached_file :avatar, :styles => { :huge => '220x220!', :full => '72x72!', :medium => '48x48!', :small => '24x24!' }, :path => ':rails_root/public/avatars/:userid_prefix/:userid/:style-:random.:extension', :url => '/avatars/:userid_prefix/:userid/:style-:random.:extension', :default_url => :default_avatar_url

图像模型片段

has_attached_file :file, :styles => { :large => '640x480', :avatar => '72x72!', :cover => '160x160!'}, :path => ':rails_root/public/photos/:userid_prefix/:userid/:id_:style-:random.:extension', :url => '/photos/:userid_prefix/:userid/:id_:style-:random.:extension'

【问题讨论】:

    标签: ruby-on-rails ruby image paperclip


    【解决方案1】:

    也许不是世界上最有效的方法,但您可以让 Paperclip 从您网站上的 URL 导入图像。

    假设您向用户展示了他们的照片,并且无论他们点击哪一张,都会调用User#updateparams => { :avatar_url => 'http://www.yourownwebsite.com/url/of/image.jpg' }

    然后您在控制器中处理此参数,执行以下操作:

    if params.has_key? :avatar_url
      begin
        @user.avatar = open params[:avatar_url]
      rescue
        logger.warn "Unable to open #{params[:avatar_url]}"
      end
    end
    
    if @user.save
       # Regular response handling goes here...
    

    【讨论】:

      猜你喜欢
      • 2011-10-27
      • 2016-01-29
      • 1970-01-01
      • 2014-03-02
      • 1970-01-01
      • 1970-01-01
      • 2010-11-17
      • 1970-01-01
      • 2016-02-18
      相关资源
      最近更新 更多