Questo dovrebbe essere COSÌ semplice. Voglio recuperare il valore successivo di una sequenza ... non è un valore predefinito ... non è una chiave primaria ... non è una chiave esterna. In rari casi, ho bisogno di un numero di sequenza per un valore fornito dall'utente.Recupera il nextval da una sequenza utilizzando activerecord in Ruby on Rails 3.2.14/Ruby 2.0.0/PostgreSQL 9.2.4
ho provato la seguente:
@nextid = ActiveRecord::Base.connection.execute("SELECT nextval('xscrpt_id_seq')")
e quello che torno a dire:
#<PG::Result:0x007fe668a854e8 @connection=#<PG::Connection:0x00000003aeff30>>
E utilizzando
@nextid[0]["nextval"]
posso ottenere il valore corretto, ma non sembra il modo giusto per affrontare il problema. Ho cercato, ho letto "Pro Active Record", che ha detto di usare:
M_script.find_by_sql("SELECT nextval('xscript_id_seq')")
ma, che non ha funzionato.
Qualsiasi suggerimento sul "corretto" (modo Rails) per recuperare un valore successivo da una sequenza in ROR, sarebbe molto apprezzato!