ich verwende:eine Datenbank, die nicht von Rechen und Gerüst in Schienen erzeugt
Rails 2.3.5
Ruby 1.8.7
Windows 7 Home basic 64-bit
Ich versuche, eine Datenbank verwenden ich mit mysqldump erworben, und erstellen Sie Funktionen hinzufügen, bearbeiten und DELETE mit gehen es. Wenn ich nun die Bearbeitungsfunktion erstelle und den Primärschlüssel (productCode) als Parameter verwende, erhalte ich folgende Fehlermeldung:
ActiveRecord :: RecordNotFound im PosController # bearbeiten Konnte das Produkt nicht finden ohne eine ID
App Trace: C: /Ruby187/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/base.rb: 1567: in find_from_ids' C:/Ruby187/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/base.rb:616:in
find‘ C:/Users /Aldrin/Documents/Trabaho!/sites/dbSample/app/controllers/pos_controller.rb:13:in `bearbeiten‘
hier ist mein Code:
def edit
@product = Product.find(params[:ProductCode])
end
def update
@product = product.find(params[:ProductCode])
if session[:user_id]
@log = "Welcome Administrator!"
@logout="logout"
else
@log = "Admin Log in"
@logout=""
end
respond_to do |format|
if @product.update_attributes(params[:product])
flash[:notice] = 'product was successfully updated.'
format.html { redirect_to(@product) }
format.xml { head :ok }
else
format.html { render :action => "edit" }
format.xml { render :xml => @product.errors, :status => :unprocessable_entity }
end
end
end
Ich habe keine: ID-Spalte in meiner Datenbank.
Aldrin, diese Lösung würde für dich arbeiten! Thnx wusste nichts von diesem Trick! –
es sagt falsche Anzahl von Argumenten! :( –
aah Entschuldigung, meine Schuld, sollte Beweis lesen meine Antwort sollte es lesen "self.primary_key = Produkt-Code" - habe den Code in meiner Antwort behoben –