2015-11-21 20 views
0

在爲桌面圖片附件指定的表格中,enter image description here我想從URL中附加表單中的文件(不添加新字段,想要附加使用上面的附件表格)。這是Rails中的第一個和最重要的可能嗎?這是迄今爲止我所在的地方。用回形針(Rails)在url中附加圖片


目前,我使用的回形針的圖像附件和我能夠通過獲取文件:

image_url = URI.parse('http://www.flicker/image.png') 

imageFile = open(URI.parse(image_url)) 

如果你調用鏡像文件它會輸出這樣的:#<文件: 0x007fad310ca238>

我設置的一切在我的模型:
has_attached_file:圖像,:風格=> {:中=> 「300×300#」,:拇指=> 「100×100#」}
validates_attachment_content_type:我法師:CONTENT_TYPE =>/\ Aimage/

控制器:

@deal = current_user.deals.build(
    #fills out other fields as well but deleted them 
    #attatch image to field 
    image: imageFile 
    ) 

但不幸的是簡單地分配在該圖像的新動作:是一個鏡像文件不起作用。任何幫助?

回答

0

我可能會誤解您的需求,但最簡單的方法是從您的表單中刪除文件字段,而使用attr_reader作爲圖像網址的新字段。然後在你的模型中,使你的URI.parse調用該字段中的值,然後返回。

所以,你的交易模式會看起來像

class Deal < ActiveRecord::Base 
    attr_reader :image_remote_url 
    has_attached_file :image, :styles => { :medium => "300x300#", :thumb => "100x100#" } 
    validates_attachment_content_type :image, :content_type => /\Aimage/ 

    def image_remote_url=(url) 
    self.image = URI.parse(url) 
    @image_remote_url = url 
    end 
end 

這種方式可以讓任何一個選項,URL或文件上傳。

+0

感謝您的回答。是的,我明白創建2個字段將解決問題,一個URL和一個選擇文件附件,但我只是好奇,如果我可以填寫「選擇文件」附件字段基本上是:1)從PARAMS [ :搜索] 2)從參數中下載圖像文件3)然後將文件附加到表單中,而不必從桌面上選擇它。這是一件很奇怪的事情,但我或多或少只是試圖解決它的樂趣。 – ben3019201