Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3660 connectés 

 


Pourquoi j'aime rails?




Attention si vous cliquez sur "voir les résultats" vous ne pourrez plus voter

 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  17  18  19  ..  26  27  28  29  30  31
Auteur Sujet :

[Rails] Blabla@rails

n°1900289
esox_ch
Posté le 29-06-2009 à 17:24:19  profilanswer
 

Reprise du message précédent :
Merci :D

 

Bon vu que vous êtes là :D, je suis en train d'établir une interface un minimum élaborée pour permettre de faire des tris sur notre compta. J'aurais donc besoin de pouvoir faire des requêtes genre "montant > " ou "montant < ", que je peux pas faire avec les find_by_* . Vous règlez ça comment? Des scopes dans le modèle avec le SQL écrit en dur?

 

Edit: Et pour les requètes LIKE ? :D

Message cité 1 fois
Message édité par esox_ch le 29-06-2009 à 17:36:10

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
mood
Publicité
Posté le 29-06-2009 à 17:24:19  profilanswer
 

n°1900502
esox_ch
Posté le 30-06-2009 à 11:22:53  profilanswer
 

Je suis désolé de ramener ça sur le tapis encore une fois mais quelque chose doit vraiment m'échapper.
 
Si je veux monkey patcher une classe, je dois recopier tout son contenu dans mon fichier ? Il n'y a pas manière de l'inclure autrement, et de juste (re)définir la/les méthodes que j'ai besoin?

Message cité 1 fois
Message édité par esox_ch le 30-06-2009 à 11:23:02

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1900517
masklinn
í dag viðrar vel til loftárása
Posté le 30-06-2009 à 11:44:47  profilanswer
 

esox_ch a écrit :

Merci :D

 

Bon vu que vous êtes là :D, je suis en train d'établir une interface un minimum élaborée pour permettre de faire des tris sur notre compta. J'aurais donc besoin de pouvoir faire des requêtes genre "montant > " ou "montant < ", que je peux pas faire avec les find_by_* . Vous règlez ça comment? Des scopes dans le modèle avec le SQL écrit en dur?

 

Edit: Et pour les requètes LIKE ? :D


Code :
  1. find(:all, :conditions => ["montant > ?", baseAmount])


[:petrus dei]

esox_ch a écrit :

Si je veux monkey patcher une classe, je dois recopier tout son contenu dans mon fichier ?


Bah non, c'est pas du monkey patching ça c'est du copy/paste inheritance [:pingouino]

esox_ch a écrit :

Il n'y a pas manière de l'inclure autrement, et de juste (re)définir la/les méthodes que j'ai besoin?


Tu rouvres la classe après qu'elle ait été définie et tu crées (ou mixin) les méthodes ton t'as besoin [:spamafote]

 

http://www.mail-archive.com/rubyon [...] 20577.html
http://errtheblog.com/posts/67-evil-twin-plugin

Message cité 1 fois
Message édité par masklinn le 30-06-2009 à 11:45:19

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1900537
igarimasho
Posté le 30-06-2009 à 12:27:54  profilanswer
 

masklinn a écrit :


Citation :

find(:all, :conditions => ["montant > ?", baseAmount])




 :non:  
 

Citation :

find(:all, :conditions => ["montant > ?", base_amount])


 :jap:

n°1900538
masklinn
í dag viðrar vel til loftárása
Posté le 30-06-2009 à 12:30:29  profilanswer
 

igarimasho a écrit :


 :non:  
 

Citation :

find(:all, :conditions => ["montant > ?", base_amount])


 :jap:


Oué bon hein :o


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1900710
igarimasho
Posté le 30-06-2009 à 18:42:14  profilanswer
 

esox_ch a écrit :

J'ai un petit soucis. Si s'instancie un de mes modèles et que j'appelle update_attributes en utilisant un argument "bidon", ça génère une exception ActiveRecord::UnknownAttributeError , jusqu'ici tout va bien.
 
Ce que j'aimerais c'est qu'au lieu de générer cette exception, il y ait un check qui n'autorise que les arguments "valables".
 
ça serait assez simple à faire tous comptes faits, il suffirai de faire un Model.respond_to? :argument_bidon avant l'attribution.  
 
Est-ce que vous savez s'il existe un plugin qui s'occupe de ça? Sinon vous savez comment je pourrais faire pour surcharger update_attribute pour qu'il fasse ce que je veux?


En solution moins crado je fais ça:

Code :
  1. params.delete_if { |key, value| !Model.column_names.include?(key.to_s) }


 

Skateinmars a écrit :

Vous utiliseriez quoi pour stocker des paires clés/valeurs qui soit assez performant (mais pas non plus un monstre à la big table), simple et maintenu (pas forcément scalable sur 100 machines mais un minimum) ?
 
Le besoin serait de récupérer des valeurs de configuration à chaque requête vers mon appli


Je fais ça en créant un Model Site et dans mon application_controller, ça charge le bon objet @site en fonction du nom de domaine. Tu veux faire du multi-site?
 

esox_ch a écrit :

J'aimerais modifier le contenu de la méthode access_control, j'ai donc créé un fichier (placé dans /lib/) contenant donc la même arborescence (Caboose::AccessControl) et uniquement la fonction access_control en la modifiant à ma sauce.


Avant de bricoler avec les plugins et les mixins, en Ruby tu as alias_method, et avec rails tu as alias_method_chain, c'est le truc de-facto pour faire ce que tu veux  :jap:  

n°1900804
Skateinmar​s
Posté le 30-06-2009 à 22:49:59  profilanswer
 

igarimasho a écrit :


Je fais ça en créant un Model Site et dans mon application_controller, ça charge le bon objet @site en fonction du nom de domaine. Tu veux faire du multi-site?


 
Oui, mais avec un partitionnement au niveau de la base (soit multischema, soit multibase)


---------------
Feedback HAV
n°1900867
esox_ch
Posté le 01-07-2009 à 09:10:19  profilanswer
 

igarimasho a écrit :


En solution moins crado je fais ça:

Code :
  1. params.delete_if { |key, value| !Model.column_names.include?(key.to_s) }




 
Oui mais le but dans mon casc'est que l'utilisateur reçoive un flash[:notice] l'informant de ce qui se passe
 
 

igarimasho a écrit :


Avant de bricoler avec les plugins et les mixins, en Ruby tu as alias_method, et avec rails tu as alias_method_chain, c'est le truc de-facto pour faire ce que tu veux  :jap:  


 
Merci je connaissais pas  :bounce:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1900911
igarimasho
Posté le 01-07-2009 à 10:05:36  profilanswer
 

Tu peux wrapper ça dans un before_validation, et ajouter une erreur custom avec errors.add(...) par exemple comme ça il aura son feedback.

n°1902291
esox_ch
Posté le 04-07-2009 à 18:44:28  profilanswer
 

Ok :o

 

À propos, il y a un plugin / outil que vous utilisez pour profiler les requêtes SQL de votre appli? Le truc c'est que j'aimerais pouvoir voir si mes indexes sont posés correctement dans le cadre d'une utilisation normale de l'appli, et je voudrais donc un outil qui me dit "Il y a eu X requêtes qui ont utilisé le champ Y dans la clause where"

 

Parce que là je commence à pas mal avancer dans mon projet d'inventaire ( http://forum.hardware.fr/hfr/Progr [...] 2162_1.htm ) et que je vois qu'il y a certaines requêtes un peu gourmandes... Et avant de mettre des indexes dans tous les sens, je veux voir si ces requêtes sont souvent utilisées (Genre pouvoir sortir un report journalier :o )

Message cité 2 fois
Message édité par esox_ch le 04-07-2009 à 18:44:38

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
mood
Publicité
Posté le 04-07-2009 à 18:44:28  profilanswer
 

n°1902355
igarimasho
Posté le 05-07-2009 à 10:50:39  profilanswer
 

igarimasho a écrit :

Pour les opération super longues genre encodage vidéo, etc, vous utilisez quoi:
 

  • backgroundrb: lourd car chaque worker crée un process de l'appli rails! Les tâches peuvent être sauvées dans la BDD. peut gérer les tâches à la place de cron.
  • workling + starling: dév par Tweeter initialement mais ne s'en servent plus? Attention lorsqu'une tâche est lue, si un plantage a lieu durant le traitement, alors la tâche est perdue. Récupérer un journal des tâches après plantage peut être très lent. Ne gère pas les tâches à-la cron.
  • backgroundjob:
  • spawn: je ne vois pas la différence avec un simple appel à: system ".... &"
  • background-fu: il check toutes les 5s la DB, pour moi c'est chiant mais ça permet de monitorer l'avançement des jobs (est-ce vraiment nécessaire?)
  • autre?


Resources:


PS: concernant Authlogic, une fois qu'on s'est tapé les méthodes esentielles à écrire soit-même, les choses deviennent agréable, et on a un User model propre et le système d'authentification reste configurable.


J'en reviens à mes systèmes de background job. Tweeter a totalement abandonné workling+starling. Et le system "... &" ne marche pas totalement, car sur mon appli, si le traitement est vraiment très long, mon process reste bloqué alors que la tâche longue est en cours d'exécution.
 
Sinon avec le recul migrer vers authlogic a été un excellent choix.
 

esox_ch a écrit :

À propos, il y a un plugin / outil que vous utilisez pour profiler les requêtes SQL de votre appli? Le truc c'est que j'aimerais pouvoir voir si mes indexes sont posés correctement dans le cadre d'une utilisation normale de l'appli, et je voudrais donc un outil qui me dit "Il y a eu X requêtes qui ont utilisé le champ Y dans la clause where"


Alors je sais que ça existe, je l'ai vu passer dans mon lecteur rss, mais j'ai plus le nom en tête. Regarde des fois dans les archives de rubyinside  :)  ou en cherchant sur github.


Message édité par igarimasho le 05-07-2009 à 13:48:53
n°1902357
igarimasho
Posté le 05-07-2009 à 11:25:27  profilanswer
 

Je viens d'installer Spawn, et il fait son fork sans aucun souci et libère le process parent, donc très bien et très simple à utiliser. Par contre si les process sont long et gourmands il faudrait une gestion séquentielle, parce que créer 100 process en parallèle qui vont se ralentir les uns les autres ça sert à rien :/
 
EDIT: pour les fans de Postgresql et Thin j'ai trouvé ça: http://oldmoe.blogspot.com/2008/09 [...] aking.html  [:benou_miam] (attention c'est Ruby 1.9 only donc pas pour moi à l'heure actuelle :( )


Message édité par igarimasho le 05-07-2009 à 11:53:22
n°1902360
esox_ch
Posté le 05-07-2009 à 12:13:09  profilanswer
 

Tu peux gérer ça à part non?
Dans ton script Rails tu appelles (avec Spawn) un autre script (Ruby ou Shell, peu importe) qui lui, va s'occuper de balancer un Spawn seulement quand il y a moins que X process déjà en cours..


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1902361
igarimasho
Posté le 05-07-2009 à 12:23:40  profilanswer
 

esox_ch a écrit :

tu appelles (avec Spawn) un autre script


Tu connais un truc ready-to-go pour ça? Parce que c'est pas si simple à coder. Il faut que le process rails en cours soit forké par spawn (pour être libéré et faire autre chose), mais le sub-process doit être mis en pause jusqu'à-ce que ce soit son tour de s'exécuter.
 
Je suis en train de regarder backgroundjob.
 
EDIT: non mais c'est une farce Bj ou quoi? 1 requête insert suivie de 8 requêtes select pour gérer le reste [:pingouino]  Je veux un truc simple et léger, pas une usine de raffinement de pétrole  [:ciler]  
 
Heureusement que chaque job suivant ne fait que 1 insert + 5 select  [:fail]


Message édité par igarimasho le 05-07-2009 à 12:42:11
n°1902373
igarimasho
Posté le 05-07-2009 à 13:57:51  profilanswer
 

esox_ch a écrit :

Tu peux gérer ça à part non?
Dans ton script Rails tu appelles (avec Spawn) un autre script (Ruby ou Shell, peu importe) qui lui, va s'occuper de balancer un Spawn seulement quand il y a moins que X process déjà en cours..


je viens juste de percuter mais je crois que Workling permet d'ajouter le côté message queuing à spawn! La suite ici: http://forum.hardware.fr/hfr/Progr [...] m#t1902371

n°1902380
igarimasho
Posté le 05-07-2009 à 15:08:57  profilanswer
 

esox_ch a écrit :

À propos, il y a un plugin / outil que vous utilisez pour profiler les requêtes SQL de votre appli? Le truc c'est que j'aimerais pouvoir voir si mes indexes sont posés correctement dans le cadre d'une utilisation normale de l'appli, et je voudrais donc un outil qui me dit "Il y a eu X requêtes qui ont utilisé le champ Y dans la clause where"


Je suis tombé sur ça par hasard: http://tenderlovemaking.com/2008/0 [...] -in-rails/
pas exactement ce que tu cherches, mais donne des idées.

n°1902384
igarimasho
Posté le 05-07-2009 à 15:39:40  profilanswer
 

Un plugin pour créer presque automatiquement des pages admin: http://github.com/insignia/administrate_me/tree/master
 
et ça gère les nested-resource.

n°1902393
esox_ch
Posté le 05-07-2009 à 17:15:54  profilanswer
 

igarimasho a écrit :


Je suis tombé sur ça par hasard: http://tenderlovemaking.com/2008/0 [...] -in-rails/
pas exactement ce que tu cherches, mais donne des idées.

 

Merci :bounce:
Effectivement c'est pas tout à fait ce que je cherchais mais y a déjà de quoi profiler un minimum :jap:

 
Citation :


Tu connais un truc ready-to-go pour ça? Parce que c'est pas si simple à coder. Il faut que le process rails en cours soit forké par spawn (pour être libéré et faire autre chose), mais le sub-process doit être mis en pause jusqu'à-ce que ce soit son tour de s'exécuter.

 

Je suis pas sûr d'avoir compris ce que tu veux dire... Tu veux avoir un feedback pour savoir quand le process à fini ou tu veux juste qu'il s'exécute?


Message édité par esox_ch le 05-07-2009 à 17:19:25

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1902397
igarimasho
Posté le 05-07-2009 à 17:39:02  profilanswer
 

J'ai pas besoin de feeback. Je veux:
- pouvoir mettre en liste d'attente l'exécution de tâches rails et/ou externes
- une seule tâche à la fois s'exécute selon un FIFO
- persistence en BDD
- full auto, pas de cron, pas de daemon à gérer
 
Après moultes tests je sens que je vais écrire mon propre plugin, parce que c'est vraiment con en fait.

n°1902400
esox_ch
Posté le 05-07-2009 à 17:48:01  profilanswer
 

Oui mais justement ça me semble assez vite expédié ..
Dans ton Rails tu appelles juste un script ruby externe en lui passant éventuellement des arguments (nombre de process maximum, quel process lancer,...). Le script en question spawn le process et fork, tu lui fais un sleep histoire qu'il te bouffe pas toutes tes ressources, où mieux, tu le fait attendre de manière synchrone que tes process soient finis et vala..


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1903594
esox_ch
Posté le 08-07-2009 à 14:10:46  profilanswer
 

Salut tout le monde,
J'ai un soucis  
 
Quelqu'un comprend ce que je fais de faux là ?  
 

Code :
  1. >>Screen.find_by_id(23).device
  2. => #<Device id: 23, workstation_id: 509, resource_id: 23, resource_type: "Screen", created_at: "2009-07-03 16:44:20", updated_at: "2009-07-03 16:44:20">
  3.  
  4. >> Workstation.last
  5. => #<Workstation id: 810, laptop: true, hostname: "32fwefregrge", ip: "127.0.0.10", mac_addr: "aa:aa:aa:aa:bb:aa", plug: "afweeqwf", laboratory_id: 3, room_id: 86, created_at: "2009-07-08 14:02:45", updated_at: "2009-07-08 14:02:45">
  6.  
  7. >> Screen.find_by_id(23).device.workstation= Workstation.last
  8. => #<Workstation id: 810, laptop: true, hostname: "32fwefregrge", ip: "127.0.0.10", mac_addr: "aa:aa:aa:aa:bb:aa", plug: "afweeqwf", laboratory_id: 3, room_id: 86, created_at: "2009-07-08 14:02:45", updated_at: "2009-07-08 14:02:45">


 
Ce que je veux / m'attend c'est que lors de l'attribution faite à la fin, Screen.find_by_id(23).device.workstation prenne la valeur Workstation.last . Des idées du pourquoi ça ne marche pas?
 
Merci


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1903620
masklinn
í dag viðrar vel til loftárása
Posté le 08-07-2009 à 14:40:24  profilanswer
 

esox_ch a écrit :

Ce que je veux / m'attend c'est que lors de l'attribution faite à la fin, Screen.find_by_id(23).device.workstation prenne la valeur Workstation.last . Des idées du pourquoi ça ne marche pas?


T'es pas censé sauver ton objet modifié à un moment?


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1903700
esox_ch
Posté le 08-07-2009 à 15:48:16  profilanswer
 

Salut,

 

J'ai tenté de poursuivre avec soit Screen.find_by_id(23).save! soit Screen.find_by_id(23).device.save! mais aucun résultat

 

Edit : C'est pareil si au lieu d'écrire :

 

Screen.find_by_id(23).device.workstation= Workstation.last

 

J'écris

 

Screen.find_by_id(23).device.workstation_id = Workstation.last.id

Message cité 2 fois
Message édité par esox_ch le 08-07-2009 à 15:50:29

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1903707
esox_ch
Posté le 08-07-2009 à 15:50:39  profilanswer
 

esox_ch a écrit :

Salut,
 
J'ai tenté de poursuivre avec soit Screen.find_by_id(23).save! soit Screen.find_by_id(23).device.save! mais aucun résultat
 
Edit : C'est pareil si au lieu d'écrire :  
 
Screen.find_by_id(23).device.workstation= Workstation.last
 
J'écris
 
Screen.find_by_id(23).device.workstation_id = Workstation.last.id



---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1903754
masklinn
í dag viðrar vel til loftárása
Posté le 08-07-2009 à 16:29:43  profilanswer
 

esox_ch a écrit :

Salut,
 
J'ai tenté de poursuivre avec soit Screen.find_by_id(23).save! soit Screen.find_by_id(23).device.save! mais aucun résultat


Bah j'pense bien, ça retourne potentiellement récupérer ton objet depuis la DB pas de raison que ça tape dans un cache [:pingouino]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1903759
esox_ch
Posté le 08-07-2009 à 16:44:30  profilanswer
 

Attend j'ai pas compris :heink:
Qu'est-ce que je fais faux? Pourquoi est-ce que l'attribution n'est pas faite?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1903778
igarimasho
Posté le 08-07-2009 à 16:58:55  profilanswer
 

Code :
  1. screen = Screen.find_by_id(23)
  2. screen.device.workstation = Workstation.last
  3. screen.save


 
Par contre ça fait un peu train wreck.


Message édité par igarimasho le 08-07-2009 à 16:59:12
n°1903801
esox_ch
Posté le 08-07-2009 à 17:21:18  profilanswer
 

Ah je comprend mieux le commentaire de Masklinn :o
Par contre je trouve stupide que Rails agisse comme ça ... Selon moi soit ça devrait fonctionner, soit ça devrait renvoyer une erreur, mais pas un mix des deux :heink:
 
Merci en tous cas

 
En fait ça marche pas du tout :heink: Et c'est vraiment étrange.
 

Citation :


>> screen = Screen.find_by_id 26
=> #<Screen id: 26, model: "FQW7", serial: "G44X4MX7", invoice_nbr: nil, inventory_nbr: nil, dvi: false, remarks: "Adipiscing feugiat nunc vivamus eleifend diam turpi...", created_at: "2009-07-03 16:44:20", updated_at: "2009-07-03 16:44:20">
>> screen.device
=> #<Device id: 26, workstation_id: 88, resource_id: 26, resource_type: "Screen", created_at: "2009-07-03 16:44:20", updated_at: "2009-07-03 16:44:20">
>> screen.device.workstation = Workstation.last
=> #<Workstation id: 810, laptop: true, hostname: "32fwefregrge", ip: "127.0.0.10", mac_addr: "aa:aa:aa:aa:bb:aa", plug: "afweeqwf", laboratory_id: 3, room_id: 86, created_at: "2009-07-08 14:02:45", updated_at: "2009-07-08 14:02:45">
>> screen.save!
=> true
>> screen.device.workstation
=> #<Workstation id: 810, laptop: true, hostname: "32fwefregrge", ip: "127.0.0.10", mac_addr: "aa:aa:aa:aa:bb:aa", plug: "afweeqwf", laboratory_id: 3, room_id: 86, created_at: "2009-07-08 14:02:45", updated_at: "2009-07-08 14:02:45">
>> screen.device
=> #<Device id: 26, workstation_id: 810, resource_id: 26, resource_type: "Screen", created_at: "2009-07-03 16:44:20", updated_at: "2009-07-03 16:44:20">


 
Jusqu'à là, on se dit que tout va bien ... Oui mais voilà les requêtes générées par cette suite d'instructions
 

Citation :


  Screen Load (0.8ms)   SELECT * FROM `screens` WHERE (`screens`.`id` = 26) LIMIT 1
  Device Load (0.7ms)   SELECT * FROM `devices` WHERE (`devices`.resource_id = 26 AND `devices`.resource_type = 'Screen') LIMIT 1
  Workstation Load (0.1ms)   SELECT * FROM `workstations` ORDER BY workstations.id DESC LIMIT 1
  SQL (0.1ms)   BEGIN
  SQL (0.2ms)   COMMIT


 
Vos observerez qu'il n'y a aucun update/insert ... et de ce fait la BDD est restée inchangée (j'ai contrôlé) .. Pourquoi diable le save! n'a pas d'action?
 
 
Edit de edit de edit :  
Il semble que si je tape un screen.device.save! ça marche tout à coup :bounce: ... Reste que je trouve ça vraiment surprenant :bounce:


Message édité par esox_ch le 08-07-2009 à 17:29:47

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1903817
igarimasho
Posté le 08-07-2009 à 17:36:48  profilanswer
 

Rien de surprenant à mon avis. Tu t'es pris un trainwreck en pleine façe, d'ailleurs même mon code n'était pas bon. screen et workstation (ou l'attribut device.workstation si tu préfères) sont 2 objets différents, donc c'est pour ça que si tu sauves screen rien ne se passe.
 
Une pétite révision de la loi de Demeter s'impose ;)

n°1903823
esox_ch
Posté le 08-07-2009 à 17:42:04  profilanswer
 

J'sens que je vais encore passer pour un con, mais t'aurais un lien qui m'explique pourquoi c'est pas surprenant?  
Il me semble d'avoir vu un passage de "Agile Web Development with Rails" sur ce genre de truc mais là ça fait 10 minutes que je cherche et je commence à me demander si je l'ai pas rêvé ..


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1904566
esox_ch
Posté le 11-07-2009 à 08:56:33  profilanswer
 

Est-ce que vous savez s'il y a une façon d'appeler un RJS à chaque page (à part inclure ça dans tous les layouts) ?
Je pensais à un application.rjs mais ça ne semble pas fonctionner


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1905774
esox_ch
Posté le 16-07-2009 à 12:45:51  profilanswer
 

Salut,
 
Est-ce que quelqu'un ici a déjà fait utilisé Phusion Passenger 2.0 avec un système de load balancing?
Parce que à ce que je vois sur leur site ça à l'air pas mal niveau performances (ils disent que ça marche mieux qu'un système Apache + Cluster Mongrel) mais j'ai pas compris comment ça fonctionne


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1905780
igarimasho
Posté le 16-07-2009 à 13:25:28  profilanswer
 

T'as pas besoin de load balancer, puisque c'est le module intégré dans apache qui va gérer la création / destruction des process de ton appli Rails en fonction de la charge, tu peux régler le nombre maxi de process et des trucs comme ça. J'utilise pas perso.
 
Quand je basculerai en Ruby 1.9, j'utiliserai Thin + l'extension que j'ai posté précédemment et qui utilise les Fiber, ça devrait faire bien mal.

n°1905781
esox_ch
Posté le 16-07-2009 à 13:29:14  profilanswer
 

Mmm ok .. Et c'est ce que tu utilises?
Parce que en effet j'ai toujours trouvé un peu bof l'idée d'utiliser Apache + Mongrel.. mais j'avais pas trouvé mieux jusqu'à là  :sweat:


Message édité par esox_ch le 16-07-2009 à 13:29:32

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1905801
igarimasho
Posté le 16-07-2009 à 14:03:45  profilanswer
 

J'utilise Nginx + Thin normal pour le moment, ça me convient très bien.

n°1906304
esox_ch
Posté le 18-07-2009 à 10:35:40  profilanswer
 

Au fait, j'ai un menu déroulant qui doit, suivant l'entrée sélectionnée, mettre à jour le contenu d'un autre select.
Il y a moyen de faire ça sans passer par un partial? Parce que ça me soule d'avoir 36'000 fichier _truc.rhtml dans mes répertoires :D  
Là j'essaie à coups de render :update mais j'y arrive pas  :sweat:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1907286
igarimasho
Posté le 21-07-2009 à 15:37:15  profilanswer
 
n°1907288
esox_ch
Posté le 21-07-2009 à 15:39:07  profilanswer
 

Merci :o


Message édité par esox_ch le 21-07-2009 à 15:40:06

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1907361
igarimasho
Posté le 21-07-2009 à 17:52:35  profilanswer
 

Question con, ça sert à quoi de définir des locals quand on veut appeller un partial?
 
Avant je me faisais chier avec:

Code :
  1. <%= render :partial => 'form', :locals => {:object1 => @object1, ...} %>


 
Mais je viens de me rendre compte que même sans définir :locals, @object1 est quand même accessible dans le partial. A une époque y'avait un message d'erreur concernant le implicit assignment of local vars chépakoi, c'est lié ou ça n'a rien à voir? Vous définissez des locals à tout va?

n°1907368
Skateinmar​s
Posté le 21-07-2009 à 18:08:16  profilanswer
 

igarimasho a écrit :

Question con, ça sert à quoi de définir des locals quand on veut appeller un partial?
 
Avant je me faisais chier avec:

Code :
  1. <%= render :partial => 'form', :locals => {:object1 => @object1, ...} %>


 
Mais je viens de me rendre compte que même sans définir :locals, @object1 est quand même accessible dans le partial. A une époque y'avait un message d'erreur concernant le implicit assignment of local vars chépakoi, c'est lié ou ça n'a rien à voir? Vous définissez des locals à tout va?


 
bla.html.erb

Code :
  1. <%= render :partial => 'form', :locals => {:object1 => 'mon objet'} %>


 
_form.html.erb

Code :
  1. <%= object1 %>


 
Il y a pas de rapport avec les variables d'instance de classe (@truc)
L'utilité c'est de factoriser les partials, par exemple un partial _flash qu'on pourrait utiliser avec des messages de notice (avec une sévérité et un texte)
Regarde aussi les collections avec les partials, ca peut peut être aider à comprendre


---------------
Feedback HAV
n°1907375
igarimasho
Posté le 21-07-2009 à 18:28:46  profilanswer
 

Je me suis mal exprimé.
 
Dans mon controller, je définis:  

Code :
  1. @title = 'Un super titre'


 
Dans ma view j'ai:

Code :
  1. <%= render :partial => 'page_header' %>


 
Et dans mon partial:

Code :
  1. <%= @title %>


Et tout ça sans gueuler, sans warning, rien, j'ai accès à @title. Pourquoi je me suis mis en tête que pour qu'une instance var du controller soit accessible dans le partial, il fallait que la fasse passer par :locals? J'ai rêvé?  :??:

Message cité 1 fois
Message édité par igarimasho le 21-07-2009 à 18:29:18
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  17  18  19  ..  26  27  28  29  30  31

Aller à :
Ajouter une réponse
 

Sujets relatifs
[Ruby On Rails] [Resolu] Routing error[Ruby On Rails] Afficher un message d'erreur depuis un model
[HTML - CSS] Problème avec la balise <a>href="#">blabla</a>[regexp] Extraire deux chaines : "blabla"[espaces,tab]"blublu"
Ruby On Railsruby on rails
Arrivera-t-on a la page 10000 de blabla avant 2006?blabla 3
blabla 2PUTAIN HARKO TU AS FERM2 BLABLA !
Plus de sujets relatifs à : [Rails] Blabla@rails


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)