Ich habe Büroklammer bekommen, um auf meinem System ohne ein Problem zu arbeiten. In dieser neuen App, die ich erstellt habe, kann ich aus irgendeinem Grund keine Büroklammer bekommen, um das Bild zu speichern, auch wenn die Protokolldatei dies anzeigt, wird sie auch nicht in der SQL-Datenbank angezeigt.Ruby 1.87 Rails 3.03 und Devise. Büroklammerbild wird nicht gespeichert, obwohl es besagt, dass es sich in der Protokolldatei befindet
Der einzige Unterschied, den ich habe, ist die Verwendung von Devise und ich frage mich, ob es einige zusätzliche Einstellungen gibt, die ich ändern muss.
Die Log-Datei sagt:
Started POST "https://stackoverflow.com/users/1" for 127.0.0.1 at Fri Dec 10 14:56:52 -0800 2010
Verarbeitung von Userscontroller # update als HTML Parameter: { "commit" => "Update", "authenticity_token" => "JexxammsT + VPzqwbLr/YohuY4vcpBFdfVrOwDjDQEUo =", "utf8" => "✓", "id" => "1", "user" => {"avatar" => #, @ headers = "Inhalt-Disposition: form-data; name = \" user [avatar ] \ Dateiname = \ "Nice-Smile.jpg \" \ r \ nContent-Typ: image/jpeg \ r \ n ", @ content_type =" Bild/jpeg ", @ original_filename =" Nice-Smile.jpg " >}} User Load (3.1ms) SELECT "Benutzer". * FROM "Benutzer" WHERE ("Benutzer". "ID" = 1) LIMIT 1 Benutzer laden (0.5ms) SELECT "Benutzer". "ID" FROM "Benutzer" WHERE ("Benutzer". "E-Mail" = 'mrus [email protected] ') UND ("Benutzer" .id <> 1) LIMIT 1 [Büroklammer] Speichern von Anhängen. Weitergeleitet zu http://localhost:3000/users/1 Fertiggestellt 124ms
Gefunden 302 Schritte "/ Benutzer/1" für 127.0.0.1 am Fr 10. Dezember, indem sie als HTML Parameter Userscontroller # show 14.56.52 -0800 2010 Verarbeitung GET: { "id" => "1"} Benutzer laden (3,1 ms) SELECT "Benutzer". * FROM "Benutzer" WHERE ("Benutzer". "ID" = 1) LIMIT 1 CACHE (0.0ms) SELECT "Benutzer" . * FROM "Benutzer" WHERE ("Benutzer". "ID" = 1) LIMIT 1 Gerenderte Benutzer/_basic_info.html.erb (2.0ms) Gerenderte Layouts/_stylesheets.html.erb (5.2ms) Gerenderte Layouts/_header.html.erb (12.1ms) Gerenderte Layouts/_footer.html.erb (2,4ms) Gerenderte Benutzer/show.html.erb in Layouts/Anwendung (47.2ms) Abgeschlossen 200 OK in 167ms (Aufrufe: 62.2ms | Active: 6,6 ms)
Started "/avatars/small/missing.png" für 127.0.0.1 am Fr 10. Dezember 14.56.53 -0800 2010 GET
loszulegen „/ avatars/small/fehlend .png“für 127.0.0.1 am Fr., 10. Dez 14:56:53 -0800 2010
Action :: RoutingError (Keine Route entspricht "/avatars/small/missing.png"):
Hier ist mein Benutzercontroller:
class UsersController < ApplicationController
def home
@user = User.find(params[:id])
end
def index
@user = User.all
@title = "All users"
end
def show
@user = User.find(params[:id])
@title = current_user.first_name
end
def create
@user = User.new(params[:user])
if @user.save
flash[:notice] = "Profile Updated"
redirect_to @user
else
render :action => 'new'
end
end
def update
@user = User.find(params[:id])
if @user.update_attributes(params[:product])
flash[:notice] = "Profile Updated"
redirect_to @user
else
render :action => 'edit'
end
end
end
Und hier ist mein User-Modell:
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :token_authenticatable, :lockable, :timeoutable and :activatable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :first_name, :last_name, :avatar
attr_accessible :bio, :sex, :birthday, :facebook, :twitter, :hometown, :current_city, :interested_in, :looking_for
validates :first_name, :presence => true,
:length => { :maximum => 50 }
validates :last_name, :presence => true,
:length => { :maximum => 50 }
has_attached_file :avatar, :styles => { :thumb => "50x50#",
:small => "150x150>",
:medium => "300x200>",
:large => "600x600>" },
:url => "/assets/users/:id/:basename/:style.:extension",
:path => ":rails_root/public/assets/users/:id/:basename/:style.:extension"
validates_attachment_size :avatar, :less_than => 5.megabytes
validates_attachment_content_type :avatar, :content_type => ['image/jpeg', 'image/jpg', 'image/png', 'image/gif']
end
ich viele Dinge immer und immer wieder versucht, aber nicht sicher, warum die Datei nicht gespeichert wird. Danke für jede Hilfe im Voraus.
Bitte bearbeiten Sie Ihre Frage und formatieren Sie Ihren Code. –
haben Sie multipart in Ihrem Formular? – iain