undefined method 'model_name" pour NilClass:Classe

le navigateur me fit l'erreur suivante dans les Locaux#show:

undefined method 'model_name" pour NilClass:Classe

51: <%= form_for(@food) do |f| %>
52:   <%= render 'shared/error_messages', object: f.object %>
53:   <div class="field">
54:     <%= f.label :nome %>

Voici mon locals_controller.rb (la fin de l'action)

 def show
   @local = Local.find(params[:id])
   @foods = @local.foods.paginate(page: params[:page])
   respond_to do |format|
   format.html # show.html.erb
   format.json { render json: @local }
end

fin

Et ici foods_controller.rb (l'action de création)

def create
@food = @local.foods.build(params[:food])
if @food.save
  flash[:success] = "Food created!"
  redirect_to '/locals'
else
  flash[:error] = "Error on creating food"
  render '/locals'
end
end

Modèle alimentaire et le modèle Local sont liés avec :has_many et belongs_to

Quel est le problème? Merci

Qu'est-ce que @local ? Qui sons pas défini.
Locaux.find(params[:id])
tu veux dire que la portée de cette variable est le problème?
Vous avez @food dans une action de contrôleur et @foods dans l'autre, mais la forme est pour @food (au singulier), et vous dire que l'erreur est pour Locals#show où vous utilisez @foods (au pluriel). Quelque chose ne correspond pas là-haut dans votre code.
j'ai @aliments parce que je veux montrer en spectacle.html.erb aussi une liste d'aliments, mais la forme est d'une seule nourriture, donc je ne comprends pas

OriginalL'auteur bugman | 2012-07-06