2010-06-09 13 views

risposta

2

È possibile caricare qualsiasi modello in qualsiasi controller: basta chiamarlo come faresti normalmente.

Se è necessario caricare una User dal controller Profiles, si può semplicemente utilizzare User.find_by_whatever(), User.new, current_profile.user - non so come le vostre associazioni siano impostati, ma non ci dovrebbero essere alcuna restrizione di accesso.

+0

quando uso come @user = User.new; @a = User.find (: all) mostra l'errore "costante non inizializzato ProfileController :: User" qualsiasi cosa mi manca? – ashok

+2

Hai sicuramente impostato un modello utente? Puoi chiamarlo bene dal controller Users o non ce n'è uno? – Jeriko

13

modello sono entità indipendente e puoi chiamarlo da qualsiasi controller.

There can be a model without a controller and vice-versa. 

Per voi in dubbio fare un esempio qui sotto

class ProfileController < ApplicationController 

    def some_method 
    @user = User.find(params[:user_id]) 
    if @user.update_attributes(params[:user]) 
     // some action 
    else 

     // some action 
    end 
    end 

end 
+1

Questa pratica accettabile? – Shamoon

+2

sì, naturalmente .... – Salil

Problemi correlati