[ruby-it] Rilettura record

tele tele a plexia.com
Mer 9 Ago 2006 17:39:04 CEST


Ti direi di aggiungere nel modello una cosa del tipo:

def self.last_insert_id
   find_by_sql "SELECT LAST_INSERT_ID()"
end

e poi nel controller 

 if @requirement.save
   flash[:notice] = "Richiesta inviata con Id:
#{@requirement.last_insert_id}"


Occhio ad una cosa che se il database riceve piu' richieste concorrenti
o fa insert su piu' tabelle il last_insert_id potrebbe essere non
corretto. Quindi dipende dall'uso che ne fai ;)
Cmq questo e' se usi MySQL.

per postgres c'e' gia': 
http://railsmanual.com/class/ActiveRecord%3A%3AConnectionAdapters%3A%
3APostgreSQLAdapter/last_insert_id

ciao


On Wed, 2006-08-09 at 17:09 +0200, Biagio Maffettone wrote:
> Come posso visualizzare un record appena salvato
> con il relativo id generato?
> 
> Ho questo metodo:
> def create
> Requirement.new(params[:requirement])) #
>     @requirement = Requirement.new(params[:requirement])
>     @requirement.data = DateTime.now #
>     @requirement.status = 0 #
>     if @requirement.save
>       flash[:notice] = 'Richiesta inviata con Id: ' .........
>       redirect_to :action => 'index'
>     else
>       render :action => 'new'
>     end
>   end
> se è stato salvato ne voglio visualizzare l'id.
> 
> Come posso fare?
> Grazie per la risposta.
> BM
> 
> _______________________________________________
> Ml mailing list
> Ml a lists.ruby-it.org
> http://lists.ruby-it.org/mailman/listinfo/ml



Maggiori informazioni sulla lista Ml