# Costanti

**URL:** <https://www.ruby-forum.com/t/costanti/109001>\
**Category:** IT\
**Created:** [July 10, 2007, 3:47pm UTC](https://www.ruby-forum.com/t/costanti/109001 "2007-07-10T15:47:46Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Lucea](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/ea5d25/32.png) [@Lucea](https://www.ruby-forum.com/u/Lucea)\
**Post date:** [July 10, 2007, 3:47pm UTC](https://www.ruby-forum.com/t/costanti/109001/1 "2007-07-10T15:47:46Z")

</div>

Salve a tutti. In un controller ho delle costanti usate da più action. Dove  
posso definirle affinché non sia costretta a metterle dentro ad ogni  
action?  
Pensavo fosse sufficiente definirle nel controller stesso, all’esterno  
delle  
action, ma non le trova. Dove ho sbagliato?

Io le ho definite in questo modo:

class MioController \< ApplicationController  
cost1=…  
cost2=…  
cost3=…

def index  
…  
end  
def action1  
…  
end  
…  
end

---

<div class="post-metadata">

**Author:** ![Lucea](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/ea5d25/32.png) [@Lucea](https://www.ruby-forum.com/u/Lucea)\
**Post date:** [July 10, 2007, 3:51pm UTC](https://www.ruby-forum.com/t/costanti/109001/2 "2007-07-10T15:51:46Z")

</div>

Il 10/07/07, Lucea [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) ha scritto:

> Salve a tutti. In un controller ho delle costanti usate da più action.  
> Dove  
> posso definirle affinché non sia costretta a metterle dentro ad ogni  
> action?  
> Pensavo fosse sufficiente definirle nel controller stesso, all’esterno  
> delle  
> action, ma non le trova. Dove ho sbagliato?

a me han detto environment.rb  
però aspetterei risposta di qualche maggiore esperto.

ciao

---

<div class="post-metadata">

**Author:** ![Lucea](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/ea5d25/32.png) [@Lucea](https://www.ruby-forum.com/u/Lucea)\
**Post date:** [July 10, 2007, 4:08pm UTC](https://www.ruby-forum.com/t/costanti/109001/3 "2007-07-10T16:08:48Z")

</div>

Prova a definirle in uppercase.

Altri modi per creare costanti:

class MioController \< ApplicationController  
MioController::CONST1 = ‘pippo’  
self::CONST2 = ‘topolino’  
self.const\_set(:CONST3, ‘pluto’)  
CONST4 = ‘paperino’  
const5 = ‘ok’ #non valido

def index  
#qui puoi usare le costanti  
end  
end

Se invece vuoi condivirle fra più controllers, devi definirle in  
ApplicationController.

Ciao,  
Luca.

---

<div class="post-metadata">

**Author:** ![Lucea](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/ea5d25/32.png) [@Lucea](https://www.ruby-forum.com/u/Lucea)\
**Post date:** [July 10, 2007, 4:22pm UTC](https://www.ruby-forum.com/t/costanti/109001/4 "2007-07-10T16:22:49Z")

</div>

I nomi delle costanti devono essere maiuscoli

[http://www.ruby-doc.org/docs/ProgrammingRuby/html/language.html#S4](http://www.ruby-doc.org/docs/ProgrammingRuby/html/language.html#S4)

J.

---

<div class="post-metadata">

**Author:** ![Lucea](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/ea5d25/32.png) [@Lucea](https://www.ruby-forum.com/u/Lucea)\
**Post date:** [July 10, 2007, 6:21pm UTC](https://www.ruby-forum.com/t/costanti/109001/5 "2007-07-10T18:21:13Z")

</div>

grazie mille
