Ich benutze PostgreSQL. Ich habe das nächste Formular auf /main
URL (localhost: 3000/main):Warum kann Rails der Datenbank keinen neuen Datensatz hinzufügen?
=form_for(@car) do |b|
.col-xs-2= b.text_field(:type, class: "form-control", placeholder: "Type")
= b.submit('Buy', class: "btn btn-default")
In meinem Controller:
def main
@car = Car.new
end
def new
@car = Car.new
end
def create
@car = Car.new(car_params)
respond_to do |format|
if @car.save
format.html { redirect_to @car, notice: 'Car was successfully ordered.' }
format.json { render :show, status: :created, location: @car }
else
format.html { render :new }
format.json { render json: @car, status: :unprocessable_entity }
end
end
Ende
wo
def car_params
params.require(:car).permit(:type)
end
Ich habe meine Code 100 mal und es scheint alles in Ordnung, aber ich kann keinen neuen Datensatz zu meiner Datenbanktabelle hinzufügen. Kann mir jemand helfen, warum es passiert? Was ist das Problem in meinem Code?
Hier gehen wir wieder. Ändern Sie Ihre Frage nicht 20 Mal. Sie machen Antworten ungültig. Veröffentlichen Sie Ihren tatsächlichen Code von Anfang an in der ersten Revision. –
@SergioTulentsev Sie haben Recht! Das tut mir leid! So sieht mein Code jetzt aus! – Doe
Können Sie überprüfen, ob im Modell irgendwelche Validierungen angewendet werden? Sie können die @ car.errors in Else-Block drucken, um es zu überprüfen –