2016-12-29 5 views
-3

Ich versuche einen Artikel-Besitzer zu definieren, dafür muss ich unabhängige Ressourcen haben, die nicht ineinander verschachtelt sind (Benutzer, Artikel).Artikel-Besitzer definieren (Artikel ohne ID nicht gefunden)

Jeder Artikel hat ein user_id-Attribut, das der ID des Benutzers entspricht, der den Artikel erstellt hat.

Jetzt versuche ich beide zu vergleichen, damit ich einen Artikelbesitzer erstellen kann. Diese

ist, wie ich versuche, es zu tun:

Articles_controller.rb

def show 
     @article = Article.find(params[:id]) 
     @user_id = Article.find(params[:user_id]) 
     @user= User.find_by(id: user_id) 
end 

Antwort

0

Ihre Aktion sollte wie:

def show 
    @article = Article.find(params[:id]) 
    @user= User.find(params[:user_id]) 
end 

Sie versuchen, ein article zu holen mit der id von user und der id Artikel existiert nicht in der Datenbank, deshalb verursacht es Fehler.

Und die beste Praxis ist, dass anstelle der user in @user Variable holen Sie @article.user im view oder anderswo verwendet werden soll. Bedeutet, dass Sie es aus der Assoziation selbst holen sollten.

+0

Das stimmt! Vielen Dank – Eltorero1992

Verwandte Themen