-2

Comment puis-je accéder aux ID à partir d'une ressource imbriquée? Il n'y a pas id_identité dans @[email protected] .i obtenir une erreur Couldn't find People without an ID. Merci d'avance.Comment obtenir des identifiants d'une ressource imbriquée?

modèles

class City < ActiveRecord::Base 
    has_many :peoples 
    end 

    class People < ActiveRecord::Base 
    belongs_to :city 
    end 
contrôleur

def show 
    @city = City.find(session[:city_id]) 
    @[email protected] 
    @[email protected](params[:id]) 
    end 

Routes

resources :city, :people 
    resources :cities do 
    resources :peoples 
    end 

Répondre

1

Votre message d'erreur se réfère au modèle Deal, mais votre exemple fait référence à City et les enfants People. Quoi qu'il en soit, chaque instance People dans @Peoples (ou @city.peoples) doit avoir son attribut ID disponible sous la forme id - et non people_id.

+0

désolé c'était copier coller typo.Oui mais la chose est-il dit ne pouvait pas trouver des gens sans un ID, ce qui signifie qu'il n'y a pas d'ID dans les gens, ce qui me fait penser que cela a quelque chose à voir avec les routes – katie

0

Je pense que votre problème vient de cette ligne

@people = @peoples.find(params[:id]) 

Etes-vous sûr que vous définissez params[:id]? Comment reliez-vous à votre action de spectacle?

Aussi, je ne pense pas que vous pouvez appeler find sur la variable d'instance @peoples car je pense que c'est un tableau, mais je peux me tromper.

Questions connexes