2014-11-24 109 views
0

我有一個名爲ListingInformationFrom的模型。我已經添加了兩個回形針遷移:logo和loan_image。當我在表單中上傳兩張不同的圖片時,保存的網址會顯示相同的圖片。有人可以告訴我如何將兩個單獨的圖像上傳到一個模型?在rails上使用s3和回形針上傳兩個圖像應用程序

ListingInformationForm.rb

class ListingInformationForm < ActiveRecord::Base 
     # Image uploading 
     has_attached_file :logo, 
          :styles => { :medium => "300x300>", :thumb => "100x100>" }, 
          :storage => :s3, 
          :url => ":s3_domain_url", 
          :path => "images/:class/:id.:style.:extension" 
     has_attached_file :loan_image, 
          :styles => { :medium => "300x300>", :thumb => "100x100>" }, 
          :storage => :s3, 
          :url => ":s3_domain_url", 
          :path => "images/:class/:id.:style.:extension" 
    end 

的形式包括如下:

 <%= form_for @listing_information_form, url: business_listing_information_form_path(@user), :html => { :multipart => true } do |f| %> 
     <div class="row"> 
     <div class="form-group"> 
      <div class="col-md-5"> 
       <%= f.label :logo, :class => "control-label required" %> 
      </div> 
      <div class="col-md-7"> 
       <%= f.file_field :logo %> 
      </div>  
     </div> 
    </div> 
    <div class="row"> 
     <div class="form-group"> 
      <div class="col-md-5"> 
       <%= f.label :loan_image, :class => "control-label required" %> 
      </div> 
      <div class="col-md-7"> 
       <%= f.file_field :loan_image %> 
      </div>  
     </div> 
    </div> 
    <% end %> 

listing_information_forms_controller.rb

def listing_information_form_params 
    params.require(:listing_information_form).permit(:loan_id, :logo, :loan_image) 
end 

S3配置在development.rb

# s3 config 
    config.paperclip_defaults = { 
    :storage => :s3, 
    :s3_credentials => { 
    :bucket => ENV['AWS_BUCKET'], 
    :access_key_id => ENV['AWS_ACCESS_KEY_ID'], 
    :secret_access_key => ENV['AWS_SECRET_KEY_ID'] 
    } 
    } 

回答

0

請確保您已經於您的形式加入:html => { :multipart => true }。 像

<%= form_for @listinformation, :url => listinformation_path, :html => { :multipart => true } do |form| %> 
    <%= form.file_field :logo %> 
    <%= form.file_field :logo_image%> 
<% end %> 

如果您使用Rails的4.x版,請確保您有定義它強大的參數。

def listinformation_params 
    params.require(:listinformation).permit(:logo, :logo_image) 
end 

如果你仍然面臨困難

+0

,請複製粘貼你的錯誤,我沒有收到任何具體的錯誤。我看到圖像被imagemagick調整大小,但保存到s3中的文件是相同的。我在form_for塊和圖像參數中也有多部分頌詞 – Questifer 2014-11-26 23:29:57

相關問題