Organisation fichiers dans Rails !

View: New views
6 Messages — Rating Filter:   Alert me  

Organisation fichiers dans Rails !

by Adrien Coquio :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Bonjour à tous !

Alors voilà, je suis en train de développer un ensemble d'éléments
pour intégrer des fonctions de recherches dans mon application.
Dans cet ensemble j'ai :
- des partiels (pour l'instant je les ais mis dans /views/search/
_NOM_DU_PARTIEL) -> me servent à afficher les différents types de
champs pour la recherche
- des fontions ( post_to_hash, hash_to_sql...)  qui sont pour
l'instant dans application controller.
En effet j'ai besoin d'appeler ces fonctions depuis mes controlleurs,
où je réceptionne les params de la recherche qui sont postés,
transforme ca en requete SQL, exécute la requête et finalement affiche
le résultat. Seulement je trouve ca un peu moche d'avoir toutes ces
fonctions ( il y en a une petite dizaine) qui polluent mon
application_controller, d'autant plus qu'elles n'ont rien à voir avec
à proprement parler des "actions", ces fonctions servent juste à
retourner un élément à partir d'un autre (hash -> string...) et je ne
sais pas où je peux les déplacer. En premier lieu j'avais pensé à un
Helper ( mais les helper ne sont pas fait pour ca -> pas accessible
depuis les controlleurs ) alors je m'interroge !?
J'ai pensé à un module, parce ce que je développe est ni plus ni moins
qu'un module de recherche mais je ne sais pas, où placer un module
dans la hiérarchie des répertoires rails ? comment inclure un module
dans un controlleur ?

Voilà, si jamais vous avez des conseils, ils sont les bienvenus ! Je
ne pense pas que je doive déplacer mes partiels mais si vous estimez
que ca puisse être plus propre j'écoute !

Merci

adrien
--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse railsfrance@...
Pour résilier votre abonnement envoyez un e-mail à l'adresse railsfrance-unsubscribe@...
-~----------~----~----~----~------~----~------~--~---


Re: Organisation fichiers dans Rails !

by Mathieu Chappuis :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Tu peux créer ton module de fonctions et le placer dans
config/initializers/mon_module.rb

Il sera chargé au lancement.

Les fonctions seront vues des controlleurs et des views

> le résultat. Seulement je trouve ca un peu moche d'avoir toutes ces
> fonctions ( il y en a une petite dizaine) qui polluent mon
> application_controller, d'autant plus qu'elles n'ont rien à voir avec
> à proprement parler des "actions", ces fonctions servent juste à
> retourner un élément à partir d'un autre (hash -> string...) et je ne
> sais pas où je peux les déplacer. En premier lieu j'avais pensé à un
> Helper ( mais les helper ne sont pas fait pour ca -> pas accessible
> depuis les controlleurs ) alors je m'interroge !?

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse railsfrance@...
Pour résilier votre abonnement envoyez un e-mail à l'adresse railsfrance-unsubscribe@...
-~----------~----~----~----~------~----~------~--~---


Re: Organisation fichiers dans Rails !

by Adrien Coquio :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Merci, je vais donc faire ca mais cela me pose 2 problèmes :

Premièrement : le fichier est chargé au démarrage et je dois relancer
le serveur à chaque fois que je veux en prendre en compte les mises à
jour ? Est-ce possible de changer ce comportement ? Sinon, il m'est
impossible de développer en devant relancer le serveur à chaque
modification !

Deuxièmement : pour que l'ensemble de mes fonctions soient bien
chargées, je ne peux pas les placer dans un module : si j'ajoute
"module search [..] end" à mon fichier, les fonctions ne sont plus
chargées au démarrage ? cela n'est pas très grave mais je trouverai
plus propre d'encapsuler mes fonctions dans un module, y a-t-il une
solution ?

Merci !

adrien

On Oct 22, 11:20 am, Mathieu Chappuis
<mathieu.chappuis.li...@...> wrote:

> Tu peux créer ton module de fonctions et le placer dans
> config/initializers/mon_module.rb
>
> Il sera chargé au lancement.
>
> Les fonctions seront vues des controlleurs et des views
>
> > le résultat. Seulement je trouve ca un peu moche d'avoir toutes ces
> > fonctions ( il y en a une petite dizaine) qui polluent mon
> > application_controller, d'autant plus qu'elles n'ont rien à voir avec
> > à proprement parler des "actions", ces fonctions servent juste à
> > retourner un élément à partir d'un autre (hash -> string...) et je ne
> > sais pas où je peux les déplacer. En premier lieu j'avais pensé à un
> > Helper ( mais les helper ne sont pas fait pour ca -> pas accessible
> > depuis les controlleurs ) alors je m'interroge !?
--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse railsfrance@...
Pour résilier votre abonnement envoyez un e-mail à l'adresse railsfrance-unsubscribe@...
-~----------~----~----~----~------~----~------~--~---


Re: Organisation fichiers dans Rails !

by Mathieu Chappuis :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Salut,

> Premièrement : le fichier est chargé au démarrage et je dois relancer
> le serveur à chaque fois que je veux en prendre en compte les mises à
> jour ? Est-ce possible de changer ce comportement ? Sinon, il m'est
> impossible de développer en devant relancer le serveur à chaque
> modification !

Une piste, certes bourrine : En environnement de dev tu fais un
require "#{RAILS_ROOT}/config/initializers/mon_module.rb"

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse railsfrance@...
Pour résilier votre abonnement envoyez un e-mail à l'adresse railsfrance-unsubscribe@...
-~----------~----~----~----~------~----~------~--~---


Re: Organisation fichiers dans Rails !

by Bobo Bobo-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Mathieu Chappuis wrote:

> Salut,
>
>> Premi�rement : le fichier est charg� au d�marrage et je dois relancer
>> le serveur � chaque fois que je veux en prendre en compte les mises �
> jour ? Est-ce possible de changer ce comportement ? Sinon, il m'est
>> impossible de d�velopper en devant relancer le serveur � chaque
>> modification !
>
> Une piste, certes bourrine : En environnement de dev tu fais un
> require "#{RAILS_ROOT}/config/initializers/mon_module.rb"

Et pourquoi ne pas tout simplement placer ce module dans "lib"?

Un simple require MonModule suffit alors dans le controleur
--
Posted via http://www.ruby-forum.com/.

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse railsfrance@...
Pour résilier votre abonnement envoyez un e-mail à l'adresse railsfrance-unsubscribe@...
-~----------~----~----~----~------~----~------~--~---


Re: Organisation fichiers dans Rails !

by Adrien Coquio :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


J'ai finalement trouvé la solution :

- mettre le module dans /lib/search_module.rb , le nom de mon module
est SearchModule, ainsi rails le charge à chaque démarrage

- pour que rails recharge automatiquement le fichier dans
l'environement de développement (évite d'arreter/relancer le serveur à
chaque modification), ajouter cette ligne à config/environments/
development.rb

ActiveSupport::Dependencies.explicitly_unloadable_constants =
'SearchModule'

Merci pour vos réponses !

Adrien


On Oct 23, 5:00 am, Tony Chauveau <list-incom...@...> wrote:

> Mathieu Chappuis wrote:
> > Salut,
>
> >> Premi rement : le fichier est charg au d marrage et je dois relancer
> >> le serveur chaque fois que je veux en prendre en compte les mises
> > jour ? Est-ce possible de changer ce comportement ? Sinon, il m'est
> >> impossible de d velopper en devant relancer le serveur chaque
> >> modification !
>
> > Une piste, certes bourrine : En environnement de dev tu fais un
> > require "#{RAILS_ROOT}/config/initializers/mon_module.rb"
>
> Et pourquoi ne pas tout simplement placer ce module dans "lib"?
>
> Un simple require MonModule suffit alors dans le controleur
> --
> Posted viahttp://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse railsfrance@...
Pour résilier votre abonnement envoyez un e-mail à l'adresse railsfrance-unsubscribe@...
-~----------~----~----~----~------~----~------~--~---