I Büroklammer-5.0.0 benutze und Rails 5.0.2.This ist mein Code in Controllerkann nicht POST-Anforderung verarbeiten, für Maßnahmen im Controller erstellen
class PawsController < ApplicationController
before_action :set_paw, only: [:show, :edit]
def index
@paws = Paw.all
end
def show
end
def new
@paw = Paw.new
end
def edit
end
def create
@paw = Paw.new(paw_params)
respond_to do |format|
if @paw.save
format.html { redirect_to @paw, notice: 'Paw was successfully created.' }
format.json { render :show, status: :created, location: @paw }
else
format.html { render :new }
format.json { render json: @paw.errors, status: :unprocessable_entity }
end
end
end
private
# Use callbacks to share common setup or constraints between actions.
def set_paw
@paw = Paw.find(params[:id])
end
def paw_params
params.require(:paw).permit(:avatar,:name) if params[:avatar]
end
end
Avatar hier ist die Spalte für paw welche Läden images.In Model Ich habe die erforderlichen Validierungen für Büroklammer und Validierung für das Vorhandensein von Namen hinzugefügt.
Problem: In Schienen Konsole Ich bin erfolgreich in der Lage die Image-Datei von meinem Computer zu öffnen und es in die Pfote Modell dh @ paw.save gibt true zurück, in der Konsole hinzufügen, aber im Browser es Umleitungen Ich auf die new_paw_url mit zwei Fehlern. Der Name darf nicht leer sein. und Avatar darf nicht leer sein. Es gibt keine Ausnahmen oder Fehler zwischen den Prozess geworfen. Ich habe keine Ahnung, wie ich das beheben soll.
ActiveRecord::SchemaMigration Load (0.2ms) SELECT "schema_migrations".* FROM "schema_migrations"
Processing by PawsController#create as HTML
Parameters: {"utf8"=>"✓","authenticity_token"=>"zKpb2XFEG4FqX3aVQx9oyyGI9x2NpmF+lmt4eZy/3p3VZr2eWYvHLaEjS5AvisJ6iEbRm61SJkJSuTpMx4c0JA==", "paw"=>{"name"=>"Sheru", "gender"=>"Male", "breed"=>"", "dob"=>"", "avatar"=>#<ActionDispatch::Http::UploadedFile:0x005608576e1f30 @tempfile=#<Tempfile:/tmp/RackMultipart20170323-14343-1o95nqx.jpg>, @original_filename="art.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"paw[avatar]\"; filename=\"art.jpg\"\r\nContent-Type: image/jpeg\r\n">}, "commit"=>"Upload"}
(0.1ms) begin transaction
(0.1ms) rollback transaction
(0.1ms) begin transaction
(0.1ms) rollback transaction
Rendering paws/new.html.erb within layouts/application
Rendered paws/_form.html.erb (15.8ms)
Rendered paws/new.html.erb within layouts/application (17.3ms)
Rendered layouts/_navbar.html.erb (0.6ms)
Completed 200 OK in 326ms (Views: 287.5ms | ActiveRecord: 2.0ms)
Fühlen Sie sich frei, für irgendwelche anderen Codeschnipsel von mir zu bitten.
Wie sehen Ihre Parameter aus, wenn Sie sie einreichen? – wendybeth
Ich habe Params hinzugefügt .... Params außer Name und Avatar haben keine Validierungen –
Nevermind, ich habe nur einen genaueren Blick auf Ihre Params und sehen, es gibt keine Zugehörigkeiten. :/Bearbeiten Sie diesen Kommentar, da es eine nutzlose Idee hatte. – wendybeth