Déjà tes relation has_many et belogns_to il faut les mettre au niveau
de tes modèles (module et autre) et pas dans le fichier routes.



On 28 juil, 09:51, Darty Box <[email protected]> wrote:
> Bonjour,
>
>   Je me trouve dans une impasse. J'obtiens le message d'erreur suivant
> quand je souhaite afficher la page d'accueil de mes modules
> (monserveur/modules) :
>
> undefined method `all' for Module:Class
>
> J'ai utilisé le scaffold pour générer mon contrôleur module... Pour mes
> autres contrôleurs, tout se passe très bien! Le code est identique.
>
> mon modèle contient :
>
> class Module < ActiveRecord::Base
> end
>
> mon contrôleur :
>
> class ModulesController < ApplicationController
>   # GET /modules
>   # GET /modules.xml
>   def index
>     @modules = Module.all
>
>     respond_to do |format|
>       format.html # index.html.erb
>       format.xml  { render :xml => @modules }
>     end
>   end
>
>   # GET /modules/1
>   # GET /modules/1.xml
>   def show
>     @module = Module.find(params[:id])
>
>     respond_to do |format|
>       format.html # show.html.erb
>       format.xml  { render :xml => @module }
>     end
>   end
>
>   # GET /modules/new
>   # GET /modules/new.xml
>   def new
>     @module = Module.new
>
>     respond_to do |format|
>       format.html # new.html.erb
>       format.xml  { render :xml => @module }
>     end
>   end
>
>   # GET /modules/1/edit
>   def edit
>     @module = Module.find(params[:id])
>   end
>
>   # POST /modules
>   # POST /modules.xml
>   def create
>     @module = Module.new(params[:module])
>
>     respond_to do |format|
>       if @module.save
>         flash[:notice] = 'Module was successfully created.'
>         format.html { redirect_to(@module) }
>         format.xml  { render :xml => @module, :status => :created,
> :location => @module }
>       else
>         format.html { render :action => "new" }
>         format.xml  { render :xml => @module.errors, :status =>
> :unprocessable_entity }
>       end
>     end
>   end
>
>   # PUT /modules/1
>   # PUT /modules/1.xml
>   def update
>     @module = Module.find(params[:id])
>
>     respond_to do |format|
>       if @module.update_attributes(params[:module])
>         flash[:notice] = 'Module was successfully updated.'
>         format.html { redirect_to(@module) }
>         format.xml  { head :ok }
>       else
>         format.html { render :action => "edit" }
>         format.xml  { render :xml => @module.errors, :status =>
> :unprocessable_entity }
>       end
>     end
>   end
>
>   # DELETE /modules/1
>   # DELETE /modules/1.xml
>   def destroy
>     @module = Module.find(params[:id])
>     @module.destroy
>
>     respond_to do |format|
>       format.html { redirect_to(modules_url) }
>       format.xml  { head :ok }
>     end
>   end
> end
>
> Lors de la génération manuelle du scaffold, j'ai bien utilisé un nom au
> singulier 'module'
>
> Concernant les liaisons avec les autres tables dans le fichier routes,
> j'ai :
>
>   map.resources :modules, :belongs_to => :autres
>
>   map.resources :autres, :has_many => :modules
>
> je ne comprends pas pourquoi j'obtiens ce message d'erreur et seulement
> sur au niveau ce contrôleur ? Surement une erreur d'inattention mais
> laquelle. y a t-il quelque d'incorrect dans tout ce code ?
> --
> Posted viahttp://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
[email protected]
-~----------~----~----~----~------~----~------~--~---

Répondre à