Paperclip :: Fehler in RegistrationsController # update ist ein Fehler war, die Thumbnail-Verarbeitung.Büroklammer :: Fehler (Es gab einen Fehler bei der Verarbeitung der Thumbnail-
Ich laufe Rails 4.2.6
und paperclip", "~> 5.0.0"
Meine Anwendung Controller-Datei ist:
class NewsController < ApplicationController
def create
@news = News.new(news_params)
respond_to do |format|
if @news.save
format.html { redirect_to news_url, notice: 'News post was successfully created.' }
format.json { render :show, status: :created, location: @news }
else
format.html { render :new }
format.json { render json: @news.errors, status: :unprocessable_entity }
end
end
end
private
def news_params
params.require(:news).permit(:topic, :header, :content, :link, :image)
end
end
Meine Nachrichten Modell ist:
class News < ActiveRecord::Base
validates :image, presence: true
has_attached_file :image, styles: { thumb: "64x64#", small: "100x100#", med: "150x150#", large: "200x200# -adaptive-resize" }, default_url: "/images/:style/missing.png"
validates_attachment_content_type :image, :content_type => /\Aimage\/.*\Z/
end
Und meine Datenbank-Migration für Büroklammer ist:
class AddAttachmentImageToNews < ActiveRecord::Migration
def self.up
change_table :news do |t|
t.attachment :image
end
end
def self.down
remove_attachment :news, :image
end
end
Datenbank-Schema:
ActiveRecord::Schema.define(version: 20160809173534) do
create_table "news", force: :cascade do |t|
t.string "topic", limit: 255
t.string "header", limit: 255
t.string "content", limit: 255
t.string "link", limit: 255
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "image_file_name", limit: 255
t.string "image_content_type", limit: 255
t.integer "image_file_size", limit: 4
t.datetime "image_updated_at"
end
end
Als ich rake db:migrate
dies und dann versuchen, es zu benutzen ich die Paperclip::Error in NewsController#create
There was an error processing the thumbnail for dfc9ea4994791a9884f662cfa4333da420160809-29993-12b0k3n
bekommen.
Voll Fehler:
Started POST "/news" for 127.0.0.1 at 2016-08-09 13:47:40 -0400
Processing by NewsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"LQOcaS5Nfm63jIBRxjrDrjjrO/3yvKqdAgiwllPsyuZ2gQNbq4USbc+G5Nr6JuBqYZQdO6lFTHBdretDEk3Xrg==", "news"=>{"topic"=>"AutoCAD", "header"=>"News header 1", "content"=>"something should work eventually.", "link"=>"link here", "image"=>#<ActionDispatch::Http::UploadedFile:0x007fd568e25028 @tempfile=#<Tempfile:/var/folders/y5/brmnsb2n4f5_mkpmmn_ll_280000gn/T/RackMultipart20160809-47024-131c2mr.jpg>, @original_filename="blockhead.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"news[image]\"; filename=\"blockhead.jpg\"\r\nContent-Type: image/jpeg\r\n">}, "commit"=>"Create News"}
Linkpost Load (0.4ms) SELECT `linkposts`.* FROM `linkposts` ORDER BY title
Admin Load (0.3ms) SELECT `admins`.* FROM `admins` WHERE `admins`.`id` = 1 ORDER BY `admins`.`id` ASC LIMIT 1
Command :: file -b --mime '/var/folders/y5/brmnsb2n4f5_mkpmmn_ll_280000gn/T/dfc9ea4994791a9884f662cfa4333da420160809-47024-yckinl.jpg'
Command :: identify -format '%wx%h,%[exif:orientation]' '/var/folders/y5/brmnsb2n4f5_mkpmmn_ll_280000gn/T/dfc9ea4994791a9884f662cfa4333da420160809-47024-t1m52a.jpg[0]' 2>/dev/null
Command :: identify -format %m '/var/folders/y5/brmnsb2n4f5_mkpmmn_ll_280000gn/T/dfc9ea4994791a9884f662cfa4333da420160809-47024-t1m52a.jpg[0]'
Command :: convert '/var/folders/y5/brmnsb2n4f5_mkpmmn_ll_280000gn/T/dfc9ea4994791a9884f662cfa4333da420160809-47024-t1m52a.jpg[0]' -auto-orient -resize "x64" -crop "64x64+0+0" +repage '/var/folders/y5/brmnsb2n4f5_mkpmmn_ll_280000gn/T/62af5247d7ae99288c3db01615055e6c20160809-47024-1vtevvl'
Command :: identify -format '%wx%h,%[exif:orientation]' '/var/folders/y5/brmnsb2n4f5_mkpmmn_ll_280000gn/T/dfc9ea4994791a9884f662cfa4333da420160809-47024-t1m52a.jpg[0]' 2>/dev/null
Command :: identify -format %m '/var/folders/y5/brmnsb2n4f5_mkpmmn_ll_280000gn/T/dfc9ea4994791a9884f662cfa4333da420160809-47024-t1m52a.jpg[0]'
Command :: convert '/var/folders/y5/brmnsb2n4f5_mkpmmn_ll_280000gn/T/dfc9ea4994791a9884f662cfa4333da420160809-47024-t1m52a.jpg[0]' -auto-orient -resize "x100" -crop "100x100+0+0" +repage '/var/folders/y5/brmnsb2n4f5_mkpmmn_ll_280000gn/T/62af5247d7ae99288c3db01615055e6c20160809-47024-1ndlv2i'
Command :: identify -format '%wx%h,%[exif:orientation]' '/var/folders/y5/brmnsb2n4f5_mkpmmn_ll_280000gn/T/dfc9ea4994791a9884f662cfa4333da420160809-47024-t1m52a.jpg[0]' 2>/dev/null
Command :: identify -format %m '/var/folders/y5/brmnsb2n4f5_mkpmmn_ll_280000gn/T/dfc9ea4994791a9884f662cfa4333da420160809-47024-t1m52a.jpg[0]'
Command :: convert '/var/folders/y5/brmnsb2n4f5_mkpmmn_ll_280000gn/T/dfc9ea4994791a9884f662cfa4333da420160809-47024-t1m52a.jpg[0]' -auto-orient -resize "x150" -crop "150x150+0+0" +repage '/var/folders/y5/brmnsb2n4f5_mkpmmn_ll_280000gn/T/62af5247d7ae99288c3db01615055e6c20160809-47024-1dpm4bl'
Command :: identify -format '%wx%h,%[exif:orientation]' '/var/folders/y5/brmnsb2n4f5_mkpmmn_ll_280000gn/T/dfc9ea4994791a9884f662cfa4333da420160809-47024-t1m52a.jpg[0]' 2>/dev/null
Command :: identify -format %m '/var/folders/y5/brmnsb2n4f5_mkpmmn_ll_280000gn/T/dfc9ea4994791a9884f662cfa4333da420160809-47024-t1m52a.jpg[0]'
Command :: convert '/var/folders/y5/brmnsb2n4f5_mkpmmn_ll_280000gn/T/dfc9ea4994791a9884f662cfa4333da420160809-47024-t1m52a.jpg[0]' -auto-orient -resize "200x200#" '/var/folders/y5/brmnsb2n4f5_mkpmmn_ll_280000gn/T/62af5247d7ae99288c3db01615055e6c20160809-47024-q1w9zr'
Completed 500 Internal Server Error in 815ms (ActiveRecord: 0.6ms)
Paperclip::Error (There was an error processing the thumbnail for dfc9ea4994791a9884f662cfa4333da420160809-47024-t1m52a):
app/controllers/news_controller.rb:28:in `create'
ich ein Attribut der Nachricht Klasse hatte zuvor Bild genannt, nicht sicher, ob das etwas vermasselt?
Es scheint, als wäre es ein Datenbankproblem, denn wenn ich einen Rake db: setup mache, funktioniert es gut. Aber ich möchte meine Datenbank nicht löschen, also ist das keine Option, da db:setup
eine db:schema:load
ausführt, löscht dies Daten auf dem Server.
Jede Hilfe oder Vorschläge wären willkommen. Vielen Dank.
Können Sie dann das: Bild zu: Bild ändern und damit arbeiten? Aber ich schlage vor, nicht beide zu behalten. Nur vielleicht besser vorher entfernen: Bildspalte zuerst. Dann run rails Büroklammer News: Bild erneut. – loloso
@loloso Ich werde das versuchen, danke. Wie soll ich das ': image' entfernen? Sollte ich mysql direkt im Terminal durchlaufen? Oder verwenden Sie eine Schienenmigration, um die Spalte zu entfernen (was ich noch nie getan habe, aber davon gehört habe)? – Corey
Verwende rails g migration remove_image_from_news image: attachment (oder was auch immer das Bild war - check db schema), das eine Migration im Ordner db/migrate generiert. Überprüfen Sie, ob es sagt, entfernen Sie Spalte aus Nachrichten (es ist Nachrichten richtig?). Dann Rake db: migrieren. Überprüfen Sie dann das Schema, um sicherzustellen, dass die Nachrichtentabelle keine Bildspalte enthält. Dann führe den Büroklammergenerator aus, den ich oben habe. Ich schreibe jetzt so schwer ins Telefon, um Ihnen zu zeigen, wie genau die Migration aussieht, aber lassen Sie mich wissen, wenn Sie Probleme haben. – loloso