Salve a tutti!
Vorrei che una costante definita in un controller fosse visibile in
tutti i metodi di quel controller (e fin qui niente di impossibile) ma
anche nelle viste ad associate ai metodi del controller stesso. Per
fare questo ho definito:
class BohController < ApplicationController
@COSTANTE = 1
def azione
…
end
end
Dove @COSTANTE può essere usata tranquillamente in tutte le action nel
controller.
Nelle viste invece questa costante non viene trovata e per poterla
passare devo necessariamente ridefinirla in ogni action in questo
modo:
def azione @cost_da_passare = @COSTANTE
end
Sapete dirmi se è possibile fare quello che sto cercando di fare?
Dove sbaglio?
Ok. Ok. Ok. Mi trollo da solo: ho dette delle gran cazzate. Avevo
bevuto. Scrivevo in piedi. Ero stanco.
Riprovo: @qualcosa = instance variable, visibile nelle view
@@qualcosa = class variable, visibile pure (da evitare
però)QUALCOSA = una costante e si dovrebbe vedere pure quello ma occorre il
namespace giusto
class BohController < ApplicationController
COSTANTE = 1
…
…
end
Grazie mille! in effetti avevo provato anche definendo la costante
senza la @ davanti ma non funzionava lo stesso perché quello che
sbagliavo era <%= BohController::COSTANTE %>.
ciao a tutti
Silvia
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.