# Filtrare rotte in base all'environment

**URL:** <https://www.ruby-forum.com/t/filtrare-rotte-in-base-allenvironment/203664>\
**Category:** IT\
**Created:** [February 24, 2011, 4:11pm UTC](https://www.ruby-forum.com/t/filtrare-rotte-in-base-allenvironment/203664 "2011-02-24T16:11:12Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![dubstep](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/cdc98d/32.png) [@dubstep](https://www.ruby-forum.com/u/dubstep)\
**Post date:** [February 24, 2011, 4:11pm UTC](https://www.ruby-forum.com/t/filtrare-rotte-in-base-allenvironment/203664/1 "2011-02-24T16:11:12Z")

</div>

Ciao a tutti,

vorrei sapere se esiste un metodo per abilitare una rotta solo in un  
determinato environment.

Qualcosa di simile a questo (gemfile)

group :test, :development do  
gem ‘webrat’  
end

ma per routes.rb

Grazie per l’aiuto

Saluti

Guido

P.S. La versione di rails è la 3

---

<div class="post-metadata">

**Author:** ![gui\_dos](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/e79b87/32.png) [@gui\_dos](https://www.ruby-forum.com/u/gui_dos)\
**Post date:** [February 24, 2011, 5:35pm UTC](https://www.ruby-forum.com/t/filtrare-rotte-in-base-allenvironment/203664/2 "2011-02-24T17:35:59Z")

</div>

potresti usare un piccolo workaround, non so se esistono strade migliori  
(molto  
probabilmente ce ne sono altre):

# crei una classe dentro config/routes.rb

class EnvTest # nome di fantasia…  
def self.matches?(request)  
Rails.env == ‘test’ # controllo se l’env sia test  
end  
end

constraints(EnvTest) do  
# metti le rotte che vuoi avere solo con test environment  
end

un’idea folle che nemmeno ho provato 😛 a occhio dovrebbe andare, perch  
in  
pratica metti un constraint che funziona solo quando usi il test  
environment  
(qualcosa di molto vicino alla logica dei subdomains) 😉

ciao,  
A.

Il 24/02/2011 16:11, Guido S. ha scritto:

> ma per routes.rb
> 
> Grazie per l’aiuto
> 
> Saluti
> 
> Guido
> 
> P.S. La versione di rails la 3

–  
[http://twitter.com/apeacox](http://twitter.com/apeacox)

---

<div class="post-metadata">

**Author:** ![gui\_dos](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/e79b87/32.png) [@gui\_dos](https://www.ruby-forum.com/u/gui_dos)\
**Post date:** [February 25, 2011, 5:18am UTC](https://www.ruby-forum.com/t/filtrare-rotte-in-base-allenvironment/203664/3 "2011-02-25T05:18:24Z")

</div>

Ciao,  
non so se le “rotte” siano attivate in determinati environments perche  
fanno parte di features in fase di testing. Se cosi’ fosse hai pensato  
ad un approccio tipo feature flag? Flickr dev blog ha un breve  
articolo a riguardo:

> **[Flipping Out | code.flickr.com](https://code.flickr.net/2009/12/02/flipping-out/)**

e c’e’ un plugin che potrebbe fare al caso tuo:

> **[GitHub - zendesk/arturo: Feature Sliders for Rails](https://github.com/zendesk/arturo)**
>
> Feature Sliders for Rails

per dire potresti avere la feature veggie\_challenge (e le sue “rotte”)  
disattiva in production ma attiva in staging per esempio.

HTH,  
Enrico

2011/2/25 Andrea P. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> > gem ‘webrat’  
> > P.S. La versione di rails la 3

–  
Enrico T.  
IT consultant, accessible web sites and web applications  
currently working @ [http://www.redant.com.au](http://www.redant.com.au)  
Sydney, NSW, Australia  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
mobile (AU) +00610416748450

> **[Enrico Teotti | Technical & Product Consultant](https://teotti.com)**
>
> Technical coach and product management consultant with 20+ years bridging software development and product management across the US, Europe, and Australia. I help teams through strategy, facilitation, and hands-on guidance.

---

<div class="post-metadata">

**Author:** ![gui\_dos](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/e79b87/32.png) [@gui\_dos](https://www.ruby-forum.com/u/gui_dos)\
**Post date:** [February 25, 2011, 3:55pm UTC](https://www.ruby-forum.com/t/filtrare-rotte-in-base-allenvironment/203664/4 "2011-02-25T15:55:31Z")

</div>

Grazie a tutti per le risposte.

in particolare la soluzione qui sotto era perfetta per quel che dovevo  
fare.

Guido

Maurizio De magnis wrote in post #983807:

> Mmh, forse ti basta usare un semplice:
> 
> if Rails.env == “production”
> 
> # mie\_regole\_di\_routing
> 
> end

---

<div class="post-metadata">

**Author:** ![gui\_dos](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/e79b87/32.png) [@gui\_dos](https://www.ruby-forum.com/u/gui_dos)\
**Post date:** [February 25, 2011, 9:44am UTC](https://www.ruby-forum.com/t/filtrare-rotte-in-base-allenvironment/203664/5 "2011-02-25T09:44:38Z")

</div>

Mmh, forse ti basta usare un semplice:

if Rails.env == “production”

# mie\_regole\_di\_routing

end

all’interno di config/routes.rb

Non so se pero’ ci siano inconvenienti legati a questa soluzione (non  
penso).

Maurizio

Il 24 febbraio 2011 16:11, Guido S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) ha  
scritto:
