2015-06-22 93 views
0

我在我的應用程序的幾個地方有回形針。我試圖用我的一個表單上傳到附件(兩張圖片),並且沒有提供任何有用的信息,因爲它沒有成功上傳。我使用回形針4.2.2。回形針寶石沒有上傳圖片

回形針日誌如下:

Parameters: {"utf8"=>"✓", "authenticity_token"=>"XX", "listing_information_form"=>{"business_id"=>"11", "loan_id"=>"a09550000009thyAAA", "loan_name"=>"Growth!", "logo"=>#<ActionDispatch::Http::UploadedFile:0x007f8da1f4c3c0 @tempfile=#<Tempfile:/var/folders/1f/95lf0jwd0wjbl6zkvmdyffyw0000gn/T/RackMultipart20150622-11918-kkeln9>, @original_filename="woods_logo.png", @content_type="image/png", @headers="Content-Disposition: form-data; name=\"listing_information_form[logo]\"; filename=\"woods_logo.png\"\r\nContent-Type: image/png\r\n">, "loan_image"=>#<ActionDispatch::Http::UploadedFile:0x007f8da1f4c280 @tempfile=#<Tempfile:/var/folders/1f/95lf0jwd0wjbl6zkvmdyffyw0000gn/T/RackMultipart20150622-11918-1sz4xkn>, @original_filename="woods_photo.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"listing_information_form[loan_image]\"; filename=\"woods_photo.jpeg\"\r\nContent-Type: image/jpeg\r\n">, "terms_acceptance"=>"1"}, "commit"=>"Next", "business_id"=>"11"} 
    User Load (0.8ms) SELECT "users".* FROM "users" WHERE "users"."id" = 11 ORDER BY "users"."id" ASC LIMIT 1 
Command :: file -b --mime '/var/folders/1f/95lf0jwd0wjbl6zkvmdyffyw0000gn/T/92aeff05601e4e4ad9aded985f07727020150622-11918-1evafhf.png' 
Command :: identify -format '%wx%h,%[exif:orientation]' '/var/folders/1f/95lf0jwd0wjbl6zkvmdyffyw0000gn/T/92aeff05601e4e4ad9aded985f07727020150622-11918-obmo0e.png[0]' 2>/dev/null 
Command :: identify -format %m '/var/folders/1f/95lf0jwd0wjbl6zkvmdyffyw0000gn/T/92aeff05601e4e4ad9aded985f07727020150622-11918-obmo0e.png[0]' 
Command :: convert '/var/folders/1f/95lf0jwd0wjbl6zkvmdyffyw0000gn/T/92aeff05601e4e4ad9aded985f07727020150622-11918-obmo0e.png[0]' -auto-orient -resize "90x90" '/var/folders/1f/95lf0jwd0wjbl6zkvmdyffyw0000gn/T/92aeff05601e4e4ad9aded985f07727020150622-11918-obmo0e20150622-11918-11miz6z' 
Command :: file -b --mime '/var/folders/1f/95lf0jwd0wjbl6zkvmdyffyw0000gn/T/92aeff05601e4e4ad9aded985f07727020150622-11918-obmo0e20150622-11918-11miz6z' 
Command :: file -b --mime '/var/folders/1f/95lf0jwd0wjbl6zkvmdyffyw0000gn/T/b631013baf68cc1bc1e1a9d5a80163d220150622-11918-l8tqr6.jpeg' 
Command :: identify -format '%wx%h,%[exif:orientation]' '/var/folders/1f/95lf0jwd0wjbl6zkvmdyffyw0000gn/T/b631013baf68cc1bc1e1a9d5a80163d220150622-11918-1x7oerq.jpeg[0]' 2>/dev/null 
Command :: identify -format %m '/var/folders/1f/95lf0jwd0wjbl6zkvmdyffyw0000gn/T/b631013baf68cc1bc1e1a9d5a80163d220150622-11918-1x7oerq.jpeg[0]' 
Command :: convert '/var/folders/1f/95lf0jwd0wjbl6zkvmdyffyw0000gn/T/b631013baf68cc1bc1e1a9d5a80163d220150622-11918-1x7oerq.jpeg[0]' -auto-orient -resize "310x202>" '/var/folders/1f/95lf0jwd0wjbl6zkvmdyffyw0000gn/T/b631013baf68cc1bc1e1a9d5a80163d220150622-11918-1x7oerq20150622-11918-fhthka' 
Command :: file -b --mime '/var/folders/1f/95lf0jwd0wjbl6zkvmdyffyw0000gn/T/b631013baf68cc1bc1e1a9d5a80163d220150622-11918-1x7oerq20150622-11918-fhthka' 
    (0.3ms) BEGIN 
Command :: file -b --mime '/var/folders/1f/95lf0jwd0wjbl6zkvmdyffyw0000gn/T/92aeff05601e4e4ad9aded985f07727020150622-11918-bnp8ul.png' 
Command :: file -b --mime '/var/folders/1f/95lf0jwd0wjbl6zkvmdyffyw0000gn/T/b631013baf68cc1bc1e1a9d5a80163d220150622-11918-15i63c4.jpeg' 
    (0.3ms) ROLLBACK 
    (0.1ms) BEGIN 
Command :: file -b --mime '/var/folders/1f/95lf0jwd0wjbl6zkvmdyffyw0000gn/T/92aeff05601e4e4ad9aded985f07727020150622-11918-19ipmvb.png' 
Command :: file -b --mime '/var/folders/1f/95lf0jwd0wjbl6zkvmdyffyw0000gn/T/b631013baf68cc1bc1e1a9d5a80163d220150622-11918-iso9kn.jpeg' 
    (0.3ms) ROLLBACK 
    (0.2ms) BEGIN 
Command :: file -b --mime '/var/folders/1f/95lf0jwd0wjbl6zkvmdyffyw0000gn/T/92aeff05601e4e4ad9aded985f07727020150622-11918-1vhhwhy.png' 
Command :: file -b --mime '/var/folders/1f/95lf0jwd0wjbl6zkvmdyffyw0000gn/T/b631013baf68cc1bc1e1a9d5a80163d220150622-11918-abrbba.jpeg' 
    (0.3ms) ROLLBACK 
Redirected to http://localhost:3000/businesses/12/listing_information_form/new 
Completed 302 Found in 363ms (ActiveRecord: 1.9ms) 

我只看到BEGIN/ROLLBACK嘗試。

我的控制器代碼:

@listing_information_form = ListingInformationForm.create(listing_information_form_params) 
if @listing_information_form.save && @listing_information_form.cancel_loan == nil 
    redirect_to business_embedded_signing_path(@user) 
elsif @listing_information_form.save && @listing_information_form.cancel_loan == true 
    redirect_to business_root_path 
else 
    flash[:warning] = 'Unsuccessful' 
    redirect_to :back 
end 

private 

def listing_information_form_params 
    params.require(:listing_information_form).permit(:business_id, :terms_acceptance, :logo_url, :picture_url, :business_profile, :loan_id, :loan_name, :logo, :loan_image, :cancel_loan) 
end 

我的模型:

has_attached_file :logo, 
    :styles => { :original => "90x90" }, 
    :storage => :s3, 
    :url => ":s3_domain_url", 
    :path => "account/:class/:railsid/:filename" 
has_attached_file :loan_image, 
    :styles => { :original => "310x202>" }, 
    :storage => :s3, 
    :url => ":s3_domain_url", 
    :path => "account/class/:railsid/:filename" 

誰能提供由回形針被提供在跟蹤的一些信息?我將這些文件上傳到s3,並且在整個應用程序的其他表單上沒有任何問題。

+0

通常你'不允許的參數:'因爲你想要發送什麼。你還可以從'listing_information_form_params'中放置代碼嗎?也許它有幫助。我的想法是,你不允許'terms_acceptance' .. – radubogdan

+0

@radubogdan我在控制器的參數中添加了條款。我在這裏發佈了代碼。除了未經許可的params日誌之外,其他問題沒有發生變化。我對這件事很困惑。 – Questifer

+0

*** ROLLBACK ***後應該有一些資料。你可以發佈嗎? – Pavan

回答

0

從對問題的意見...

會發生什麼,如果你只是puts @listing_information_form.errors.to_yaml重定向過嗎?

@ Questifer的回答是:

to_yaml我看了那可笑的錯誤,我應該已經看到。它必須處理cancel_loan字段。我非常感謝你幫助我調試這個 - 你爲我節省了很多時間和挫折。

很高興能幫到你!有時只要盯着puts就可以有效。

獎金:我的另一個建議是緩存在這樣的局部變量的save值,以便你不小心碰到save兩次:

@listing_information_form = ListingInformationForm.create(listing_information_form_params) 
success = @listing_information_form.save 

if success && @listing_information_form.cancel_loan == nil 
    redirect_to business_embedded_signing_path(@user) 
elsif success && @listing_information_form.cancel_loan == true 
    redirect_to business_root_path 
else 
    flash[:warning] = 'Unsuccessful' 
    redirect_to :back 
end