0

Ich habe 2 Modell eine für Benutzer (amitians) andere about.rb ihre Details speichern sie eine has_one Beziehung zwischen ihnen, aber Problem ist, wenn ich ein neues über meine über Tabelle zu erstellen hat eine amitan_id = nullWarum wird meine Benutzer-ID auf null aktualisiert?

Als ich das gleiche in der rails-Konsole versuchte. Es funktioniert gut.

hier ist mein Code für die Modelle

About_amitians.rb

class AboutAmitian < ApplicationRecord 
    belongs_to :amitian 
end 

Amitian.rb

has_one :about_amitian , foreign_key: "amitian_id" 

Mein AboutAmitian Controller

def new 
    @about_amitian = current_amitian.build_about_amitian 
end 

def create 
    @about_amitian = current_amitian.create_about_amitian!(about_amitian_params) 
    if @about_amitian.save 
    redirect_to :back 
    flash[:notice] = 'success' 
    else 
    render root_url 
    end  
end 

private 

def about_amitian_params 
    params.require(:about_amitian).permit(:dob,:interest,:bio,:catch_phrase,:relationship_status) 
end 

In meinem Server-Logs Ich habe thi s Abfrage

Update 'about_amitians' set 'amitian_id' = NULL where 'about_amitian'.'id' = 1 

andhere sind die params über Form

Parameters: {"utf8"=>"✓", "authenticity_token"=>"6MtQlOfl4kU1BPMDT81m8rwwxSYdaQKpUEZbvnFw9ux1nVELSTSmaRNOgUCKNyTe2VrrkY01Ewn70hGWn/9wQg==", "about_amitian"=>{"dob"=>"m", "interest"=>"vm", "bio"=>"blyhjb", "catch_phrase"=>"hjkl", "relationship_status"=>"bljhbl"}, "commit"=>"Create About amitian"} 
+0

'current_amitian' ist gesetzt?!? – Fallenhero

+0

ya .. mit Gerät –

+0

kann ich Params wissen, wenn Sie über hinzufügen? –

Antwort

0

ich es endlich gelöst wird aber das ist verrückt ... Alles ist im Code fein .. Problem ist vollständig diff als das, was ich angenommen. Immer wenn ich das Formular abschicke, ist alles fyn und ich habe meine amitian_id richtig eingestellt. Aber wenn ich auf meine neue Seite weiterleite ... wird meine amitian_id auf NULL aktualisiert. Wie Sie aus dem Code sehen .. Ich redirect_to: zurück (d. H. Zurück zu neu), so dass meine amitian_id auf null aktualisiert.

+0

Ich kann nicht sehen, wie das passieren würde. Sie erhalten ein Update nur zum Rendern der 'neuen' Vorlage? Aus dem Code, den Sie vorgestellt haben, denke ich, dass die 'foreign_key'-Option in der' AboutAmitian'-Klasse statt der 'Amitian' gesetzt werden sollte, aber wenn Sie sagen, dass das nicht das Problem ist, habe ich keine weiteren Vermutungen. –

+0

Ich versuchte es auf so viele Arten .. jedes Mal, wenn ich wieder zu neuen umleiten .. Ich bekomme ein Update von null ... wenn ich nach dem submission zu root_path umleiten .. Ich habe meine amitian_id als 1 in meiner Tabelle, die korrekt ist .. aber wenn ich mein/neues wieder bekomme .. es wird auf null aktualisiert/... das ist ein großes Problem für mich jetzt? :/ –

+0

Ich würde das ein großes Problem betrachten, da dies definitiv _not_ das übliche Verhalten ist. Vielleicht gibt es etwas anderes an Ihrer "neuen" Vorlage, die dies auslöst. –

Verwandte Themen