# Organizzazione del codice, dubbi implementativi

**URL:** <https://www.ruby-forum.com/t/organizzazione-del-codice-dubbi-implementativi/135396>\
**Category:** IT\
**Created:** [April 21, 2008, 8:47pm UTC](https://www.ruby-forum.com/t/organizzazione-del-codice-dubbi-implementativi/135396 "2008-04-21T20:47:12Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Matteo\_Buferli](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e47774/32.png) [@Matteo\_Buferli](https://www.ruby-forum.com/u/Matteo_Buferli)\
**Post date:** [April 21, 2008, 8:47pm UTC](https://www.ruby-forum.com/t/organizzazione-del-codice-dubbi-implementativi/135396/1 "2008-04-21T20:47:12Z")

</div>

-----BEGIN PGP SIGNED MESSAGE-----  
Hash: SHA1

Buonasera a tutti,  
con alcuni miei compagni stiamo implementando un’applicazione in  
rubyonrails e, ci troviamo difronte a un problema di tipo organizzativo,  
cerco di spiegarvi al meglio la situazione.

L’applicativo richiede login, gli utenti che entrano e usufruiscono  
dell’applicativo appartengono a ruoli diversi, a volte diametralmente  
opposti, vi porto un esempio:

- infermieri
- dottori

Questi due soggetti possiedono 2 interfacce differenti, sono stati fino  
ad ora creati 2 controller apposti, chiamati home\_dottore e  
home\_infermiere, che non possiedono pero’ model, sono semplici  
controller per visualizzare la index.  
Ad ogni voce del menu $x di ogni home, corrisponde una define  
nell’apposito controller home\_$x e una pagina $x.html.erb… qui abbiamo  
dubbi implementativi: alcune funzionalita’ sono condivise ovvero,  
ipotizziamo che uno dei due voglia visualizzare un paziente, ora questo  
soggetto (il paziente) possiede il suo controller con i suoi metodi (per  
ora quelli generati dallo scaffold, che in futuro probabilmente non  
verranno utilizzati tutti), quindi prendiamo ad esempio show, ora e’  
meglio andare a includere i menu, header, footer e quant’altro  
all’interno della vista show del paziente oppure utilizzare ad esempio  
render per portare quel codice all’interno del controller?

Nel primo caso inoltre potrebbe darsi che dovremmo mettere degli if per  
caricare un menu piuttosto che un’altro in base a chi sia loggato.

Quali sono i pro e i contro delle 2 scelte?

Grazie, se qualche mio collega che sta sviluppando con me  
quest’applicazione volesse ampliare la domanda, lo invito a farlo per  
maggiore chiarezza…

Attendiamo commenti.  
Saluti

* * *

Matteo Buferli  
WEB: [http://www.buferli.com](http://www.buferli.com)  
PGP FINGERPRINT: B7C9 BE0A F77F 4747 56A2 87EC F6E5 8A01 65BB 58C1  
-----BEGIN PGP SIGNATURE-----  
Version: GnuPG v1.4.6 (GNU/Linux)  
Comment: Using GnuPG with Mozilla - [http://enigmail.mozdev.org](http://enigmail.mozdev.org)

iD8DBQFIDOED9uWKAWW7WMERAh5iAJ4nz8pXi+8mOdQvrPBlkr0zpiFBfACffLD5  
mSo27yXBp6DalSs1zBhrTsI=  
=ye1t  
-----END PGP SIGNATURE-----

---

<div class="post-metadata">

**Author:** ![Matteo\_Buferli](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e47774/32.png) [@Matteo\_Buferli](https://www.ruby-forum.com/u/Matteo_Buferli)\
**Post date:** [April 21, 2008, 11:21pm UTC](https://www.ruby-forum.com/t/organizzazione-del-codice-dubbi-implementativi/135396/2 "2008-04-21T23:21:44Z")

</div>

-----BEGIN PGP SIGNED MESSAGE-----  
Hash: SHA1

Matteo Buferli wrote:

> verranno utilizzati tutti), quindi prendiamo ad esempio show, ora e’  
> quest’applicazione volesse ampliare la domanda, lo invito a farlo per  
> maggiore chiarezza…
> 
> Attendiamo commenti.  
> Saluti

up

* * *

Matteo Buferli  
WEB: [http://www.buferli.com](http://www.buferli.com)  
PGP FINGERPRINT: B7C9 BE0A F77F 4747 56A2 87EC F6E5 8A01 65BB 58C1  
-----BEGIN PGP SIGNATURE-----  
Version: GnuPG v1.4.6 (GNU/Linux)  
Comment: Using GnuPG with Mozilla - [http://enigmail.mozdev.org](http://enigmail.mozdev.org)

iD8DBQFIDQVV9uWKAWW7WMERAg+iAJ9a0BnTHUO/5q98gtbBfJOSSGnKAgCfearT  
XTsEu5FfejEQC01AoIo69Xk=  
=0thO  
-----END PGP SIGNATURE-----

---

<div class="post-metadata">

**Author:** ![Matteo\_Buferli](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/e47774/32.png) [@Matteo\_Buferli](https://www.ruby-forum.com/u/Matteo_Buferli)\
**Post date:** [April 22, 2008, 12:00pm UTC](https://www.ruby-forum.com/t/organizzazione-del-codice-dubbi-implementativi/135396/3 "2008-04-22T12:00:33Z")

</div>

Si puÃ² condividere codice tra viste sia con la render sia scrivendo  
degli helper e mettendoli ad esempio in application\_helper.rb

Personalmente preferisco gli helper sia perchÃ© si possono modularizzare  
molto piÃ¹ facilmente sia perchÃ© a quanto leggo le render fanno consumare  
un bel po’ di memoria.

Paolo
