Attenzione ad usare unscoped per inibire il default_scope

Scritto da Silvio Relli circa un anno fa. Jan3

Su un'applicazione Rails 3, mettiamo ci sia un default_scope sul modello Article che restituisce soltanto gli articoli pubblicati.

Con la seguente interrogazione
@article = current_user.articles.unscoped.find(params[:id])
vorremmo ottenere un determinato articolo anche se non è pubblicato, usando il metodo unscoped per annullare l'effetto del default scope.

Purtroppo però unscoped annulla anche il controllo sulla relazione dell'articolo con l'utente, togliendo praticamente il where che filtra l'utente dalla select, e permettendo di ottenere il post di un utente qualsiasi.

Similmente con @articles = current_user.articles.unscoped.all non otteniamo solamente gli articoli del current_user ma bensì tutti gli articoli.

Non solo si tratta di un comportamento inaspettato e non documentato, ma anche non auspicabile.

Fate molta attenzione perchè l'uso di unscoped può portare a comportamenti decisamente indesiderabili!
 

Postato in  | Tag , , ,  | Nessun commento

Rilasciato Ruby on Rails 3.0

Scritto da Silvio Relli oltre un anno fa. Aug31

Ruby on rails 3.0

E' stata finalmente rilasciata la versione stabile di Ruby on Rails 3!

Date un'occhiata alle note di rilascio ufficiali ed agli screencast introduttivi alla nuova release:

 

Potete trovare tutti i video della serie Dive into Rails 3 nella pagina dedicata sul sito ufficiale, oppure seguire i sempre ottimi Railscast dedicati a Rails 3:

Postato in  | Tag  | Nessun commento

34 risorse per partire con Ruby on Rails 3

Scritto da Silvio Relli oltre un anno fa. Aug26

Visto l'imminente rilascio della versione finale di Ruby on Rails 3, ecco 34 utili risorse per partire (o proseguire) al meglio con lo sviluppo.

Panoramica

ActionController / Rack

ActionMailer

ActiveRecord / ActiveModel

Bundler

Railties

Routes

Plugins

Libri

  • Beginning Rails 3 - Cloves Carneiro Jr e Rida Al Barazi ci propongono un ottimo libro per principianti di Rails 3 con esempi visitabili come gists.
  • The Rails 3 Way - Il libro definitivo su Ruby on Rails da Obie Fernandez.
  • Rails 3 In Action - Ryan Bigg e Yehuda Katz ci forniscono un buon libro che spiega il Rails facendo BDD tramite Cucumber ed RSpec.
  • Rails 3 Upgrade Handbook - Il libro di Jeremy McAnally Jeremy offre 120 pagine di informazioni sull'aggiornamento di un'applicazione Rails 2 alla versione 3.
  • Ruby on Rails Tutorial: Learn Rails by Example - eBook di Hartl Michael che insegna il Rails passo dopo passo.

 

Fonte: Adventures In Coding

Postato in  | Tag , , , , , , , , , , , ,  | 1 commento