27 Dec
matte

matte il 27 December 2006 parla di Rails Snippet

Problemi risolti con il plugin ScopedAccess

Ho sempre avuto alcuni problemi ad utilizzare il plugin ScopedAccess installabile con il comando:

    1 ruby script/plugin install http://wota.jp/svn/rails/plugins/branches/stable/scoped_access/

Ho avuto bisogno di filtrare dei record ottenuti dal database in base all’utente connesso al pannello di amministrazione di un’applicazione. Per farlo basta utilizzare le seguenti righe di codice:

    1 around_filter ScopedAccess::Filter.new(User, :owner)
    2 
    3 protected
    4 def owner
    5   {
    6     :find   => {:conditions => ["user_id = ?", session[:back_user].id]},
    7     :create => {:user_id  => session[:back_user].id},
    8   }
    9 end

Dove User è il modello associato alla tabella degli utenti da filtrare o da creare nel pannello di controllo. Impostando il filtro :owner facciamo sì che automaticamente si abbiano nelle ricerche solamente gli utenti appartenenti al back_user loggato e in creazione si associa all’utente il back_user che lo crea. Tutto ok fino a quando l’applicazione lavorava in development, mentre in produzione non funzionava più niente. Il filtro prendeva il primo valore per il back_user che gli veniva passato e poi non lo variava più.

E’ uscita una nuova versione del plugin che risolve questo problema. Consiglio quindi a tutti quelli che hanno cercato di utilizzarlo nelle proprie applicazioni di aggiornarlo all’ultima release!

Scrivi un commento