-----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 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 iD8DBQFIDOED9uWKAWW7WMERAh5iAJ4nz8pXi+8mOdQvrPBlkr0zpiFBfACffLD5 mSo27yXBp6DalSs1zBhrTsI= =ye1t -----END PGP SIGNATURE-----
on 21.04.2008 20:47
on 21.04.2008 23:21
-----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 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 iD8DBQFIDQVV9uWKAWW7WMERAg+iAJ9a0BnTHUO/5q98gtbBfJOSSGnKAgCfearT XTsEu5FfejEQC01AoIo69Xk= =0thO -----END PGP SIGNATURE-----
on 22.04.2008 12:00
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