Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3658 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  ..  16  17  18  ..  26  27  28  29  30  31
Auteur Sujet :

[Rails] Blabla@rails

n°1888900
igarimasho
Posté le 28-05-2009 à 11:15:48  profilanswer
 

Reprise du message précédent :

Code :
  1. belongs_to :product_category, :as => 'categorie' #'as' facultatif


Attention le :as n'existe pas pour belongs_to, mais ça c'est pas grave il suffit de pas le mettre. Par contre je n'arrive pas à faire marcher le counter_cache pour avoir le décompte. EDIT: ça marche si je fais un destroy j'ai bien count = count - 1/


Message édité par igarimasho le 28-05-2009 à 11:36:11
mood
Publicité
Posté le 28-05-2009 à 11:15:48  profilanswer
 

n°1888902
Skateinmar​s
Posté le 28-05-2009 à 11:17:02  profilanswer
 

En effet au temps pour moi :jap:


---------------
Feedback HAV
n°1888947
igarimasho
Posté le 28-05-2009 à 11:39:06  profilanswer
 

Woot! Pourquoi sur un @article.destroy avec acts_as_list, j'ai un UPDATE de la position du dit @article à NULL avant qu'il ne soit détruit??? Du coup ça me fait exploser mon système d'expiration de page cache et ça fait un UPDATE pour rien??? EDIT: c'est pour mettre à jour la position des autres articles.
 
EDIT: effectivemment en lisant le source de acts_as_list il y a bien un before_destroy :remove_from_list  :cry:
 
Donc il faut que je vire le acts_as_list pour mes articles du blog et que je revois mon système de pagination :fou: EDIT: en même tempts changer la position des articles d'un blog c'est pas un truc recommendable... Ca m'apprendra a avoir copié les sources de Ryan Bates et son railscasts à la noix  :o
 
EDIT: la seule astuce que je vois, c'est d'ajouter un 'state' à mes articles: draft / published / deleted, mais de ne pas réellement détruire l'object dans la DB, sinon c'est un merdier inextricable  [:ciler]  ou alors virer complètement le page cache et on en parle plus :/ ou alors de sauver l'attribut position dans un autre attribut que le sweeper pourra récupérer  :pt1cable:


Message édité par igarimasho le 28-05-2009 à 13:29:57
n°1889514
igarimasho
Posté le 29-05-2009 à 15:12:46  profilanswer
 

Finalement j'utilise is_taggable que j'ai customisé.
 
Par contre pour insérer des tags prédéfinis, j'essaye de faire comme sur lighthouse: il suffit de cliquer sur un tag et il s'insère dans le text_field :tag_list. Sauf que le javascript est un truc qui me dépasse totalement.
 
J'ai ça:

Code :
  1. <%= link_to_function 'Add', "$('article_tag_list').setAttribute('value', '#{tag.title}');" %>


Ca remplace le value d'un text field (j'ai pas compris comme faire un append...), ça marche quelque fois et puis si j'édite le textfield à la main, et bien ça ne marche plus. Va savoir pourquoi  [:petrus75]  
 
Y'en a qui touchent js / prototype / scriptaculous / you name it?
 
EDIT: bon ben en bricolant avec la console de Firebug j'ai fais ça, et c'est acceptable pour le moment:

Code :
  1. <%= link_to_function 'Add', "$('article_tag_list').value += ', #{tag.title}';" %>


Et je peux éditer manuellement le text_field ça marche toujours, donc je sais pas à quoi setAttribute à part à rien  :??:
 
Donc j'ai plus qu'à trouver comment virer la virgule initiale et c'est gagné.


Message édité par igarimasho le 29-05-2009 à 15:30:04
n°1889542
Skateinmar​s
Posté le 29-05-2009 à 15:55:58  profilanswer
 

setAttribute est une méthode standard du DOM, pas comme value (bien que ca devrait marcher partout)
 
Sinon link_to_function c'est moche :o
Mieux vaut ecrire une fonction dans application.js ou a la limite à la fin de la vue, avec un event qui va bien etc...
 
Cf la doc en gros :
http://prototypejs.org/api/form/element (il y a une méthode setValue qui n'est pas documentée)


---------------
Feedback HAV
n°1889780
igarimasho
Posté le 30-05-2009 à 16:06:02  profilanswer
 

Quelqu'un utilise ou a testé l'un de ces plugins ou une combinaison entre eux?
 
- acts_as_list (je l'utilise déjà)
- acts_as_tree
- acts_as_nested_set
- awesome_nested_set
 
En fait je vais tenter d'écrire une petite application de forum avec RoR, et donc je voudrais avoir un système de forum/sous-forum ordonné et la possibilité de déplacer un sous-forum vers un autre forum. Avec acts_as_list et acts_as_tree c'est faisable mais un peu hackish (je crois) sur les bords quand il s'agira de déplacer un sous-forum et de mettre à jour les positions.

n°1889914
seabee
Posté le 31-05-2009 à 14:58:45  profilanswer
 

igarimasho a écrit :

Quelqu'un utilise ou a testé l'un de ces plugins ou une combinaison entre eux?
 
- acts_as_list (je l'utilise déjà)
- acts_as_tree
- acts_as_nested_set
- awesome_nested_set
 
En fait je vais tenter d'écrire une petite application de forum avec RoR, et donc je voudrais avoir un système de forum/sous-forum ordonné et la possibilité de déplacer un sous-forum vers un autre forum. Avec acts_as_list et acts_as_tree c'est faisable mais un peu hackish (je crois) sur les bords quand il s'agira de déplacer un sous-forum et de mettre à jour les positions.


J'utilise better_nested_set pour un CMS avec les mêmes contraintes que les tiennes,  c'est sans soucis pour les réorganisation/re-parentage. Toute la complexité est parfaitement encapsulée, rien ne dépasse. ;). J'imagine que awesome_nested_set doit être un fork de better, ou doit rendre les mêmes services.

n°1889927
igarimasho
Posté le 31-05-2009 à 16:58:17  profilanswer
 

Effectivement, le sales pitch d'awesome_machin est d'être plus mieux que les autres, je vais y jeter un oeil et à ton plugin aussi tiens. Merci :)
 
EDIT: pendant que j'y suis, petit tour de table des plugins WYSIWYG, j'avais déjà jeté un oeil, mais là je commence à en avoir vraiment besoin:
 
- WMD: www.wmd-editor.com
- Nawte: www.silverscripting.com/nawte/index.html
- TinyMCE: http://tinymce.moxiecode.com
- Markitup: http://markitup.jaysalvat.com
- WYMeditor: www.wymeditor.org
- FCKEditor: www.fckeditor.net
- TEH: http://slateinfo.blogs.wvu.edu/plu [...] tor_helper EDIT: plus maintenu, j'ai vaguement tenté de le faire marcher en vain.
 
Vous avez une préférence? J'utilise Textile pour mon markup.

Message cité 2 fois
Message édité par igarimasho le 01-06-2009 à 16:41:40
n°1890124
seabee
Posté le 01-06-2009 à 15:42:31  profilanswer
 

igarimasho a écrit :

Effectivement, le sales pitch d'awesome_machin est d'être plus mieux que les autres, je vais y jeter un oeil et à ton plugin aussi tiens. Merci :)
 
EDIT: pendant que j'y suis, petit tour de table des plugins WYSIWYG, j'avais déjà jeté un oeil, mais là je commence à en avoir vraiment besoin:
 
- WMD: www.wmd-editor.com
- Nawte: www.silverscripting.com/nawte/index.html
- TinyMCE: http://tinymce.moxiecode.com
- Markitup: http://markitup.jaysalvat.com
- WYMeditor: www.wymeditor.org
- FCKEditor: www.fckeditor.net
- TEH: http://slateinfo.blogs.wvu.edu/plu [...] tor_helper
 
Vous avez une préférence? J'utilise Textile pour mon markup.


Merci pour la veille ;)
J'utilise Fck face à Tiny, simplement pour l'interaction client/serveur pour l'upload d'image. C'est galère (ou payant, je sais plus) avec Tiny.
Pour les autres, si tu as des utilisateurs lambda non-formables, laisse tomber. C'est une belle idée sur le principe, mais la seule obsession de Giselle de la compta, c'est de faire un copier-coller depuis Word :/

n°1890506
john8585
Posté le 02-06-2009 à 16:47:03  profilanswer
 

igarimasho a écrit :

Effectivement, le sales pitch d'awesome_machin est d'être plus mieux que les autres, je vais y jeter un oeil et à ton plugin aussi tiens. Merci :)

 

EDIT: pendant que j'y suis, petit tour de table des plugins WYSIWYG, j'avais déjà jeté un oeil, mais là je commence à en avoir vraiment besoin:

 

- WMD: www.wmd-editor.com
- Nawte: www.silverscripting.com/nawte/index.html
- TinyMCE: http://tinymce.moxiecode.com
- Markitup: http://markitup.jaysalvat.com
- WYMeditor: www.wymeditor.org
- FCKEditor: www.fckeditor.net
- TEH: http://slateinfo.blogs.wvu.edu/plu [...] tor_helper EDIT: plus maintenu, j'ai vaguement tenté de le faire marcher en vain.

 

Vous avez une préférence? J'utilise Textile pour mon markup.


Il y a Wysihat aussi, développé par 37signals :)
http://github.com/josh/wysihat/tree/master


Message édité par john8585 le 02-06-2009 à 16:50:07
mood
Publicité
Posté le 02-06-2009 à 16:47:03  profilanswer
 

n°1891415
igarimasho
Posté le 04-06-2009 à 20:54:45  profilanswer
 

Vous êtes plutôt :joins ou :include? Le premier fait des vraies jointures, mais ça pète Demeter car on se retrouve avec des objets frankenstein, le second fait 1 requête par table, donc ça reste des vrais objets, mais c'est plus lourd sur la DB.
 
Et quid de la mise en cache? Parce que perso je me suis fait chier à tout régler pour mettre en page cache, et au final j'ajoute un forum de discussion [:petrus75]  
 
PS: merci John j'avais complètement oublié le plugin de 37 signals, il faut que je le regarde.

n°1891440
esox_ch
Posté le 04-06-2009 à 21:59:04  profilanswer
 

Moi j'utilise include parce que c'est plus pratique, et que vue la taille des tables que je manipule actuellement, ça change pas énorme... Le jour où ça changera, bein je passerai en joins ou alors je ferais des vues :o


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1892475
igarimasho
Posté le 08-06-2009 à 12:33:08  profilanswer
 

Citation :

Ruby fait beaucoup de choses de manière incorrecte pour se rendre flexible. Dans beaucoup de cas, Ruby se tire une balle dans le pied. ****** rend la vie plus simple en étant strict. Ca te sauvera, en tant que développeur, beaucoup de prises de tête sur le long terme. De plus, au fur et à mesure que tu construis des applications de plus en plus grosses, ça te prendra moins de temps.


Issu d'une discussion concernant l'héritalibité des attributs et méthodes de classe dans Ruby et un autre langage de programmation (qui ne le permet pas alors que Ruby oui). Vous en pensez quoi?


Message édité par igarimasho le 08-06-2009 à 12:41:21
n°1892487
masklinn
í dag viðrar vel til loftárása
Posté le 08-06-2009 à 12:51:28  profilanswer
 

"incorrecte" est un jugement de valeur qui peut être ignoré, sauf à être argumenté mais ça va être tendu. Après, la flexibilité (assumée) de Ruby a des avantages et des inconvénients, mais au final ça revient à un choix (et un style) personnels. Personnellement je suis pas super fan (une des raisons pour laquelle je préfère Python, qui est je présume le langage "flouté" ) et ça peut rendre l'exploration, la maintenance et le débugging plus difficiles, mais je comprend parfaitement que d'autres apprécient et quand c'est bien utilisé c'est d'une puissance incomparable.


Message édité par masklinn le 08-06-2009 à 12:52: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°1892505
igarimasho
Posté le 08-06-2009 à 13:31:08  profilanswer
 

Et non ce n'est pas Python  :D
 
Merci de ton point de vue sur le sujet :jap:

n°1892506
masklinn
í dag viðrar vel til loftárása
Posté le 08-06-2009 à 13:34:59  profilanswer
 

igarimasho a écrit :

Et non ce n'est pas Python  :D


[:mlc]
 
C# [:petrus dei]
 
Java [:pingouino dei]


---------------
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°1892508
esox_ch
Posté le 08-06-2009 à 13:37:46  profilanswer
 

Moi je penche pour Java. Au début c'étais aussi mon avis sur Ruby venant de java :D


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1897113
Youmoussa
Ecrou-vis
Posté le 19-06-2009 à 19:16:20  profilanswer
 

Hello les gars, j'ai ouvert un petit topic car j'ai un problème pour faire tourner mon environnement en local quand je n'ai pas de connection réseau établie
 
http://forum.hardware.fr/hfr/Progr [...] 3861_1.htm


---------------
L'humain est celui « qui agit puis qui pense : ce n’est pas parce qu’il soutient telle position qu’il agit de telle manière, mais parce qu’il a agi (comme il a été amené à le faire) qu’il va adopter telle position
n°1897427
esox_ch
Posté le 21-06-2009 à 21:18:13  profilanswer
 

Bonjour,
 
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?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1897542
seabee
Posté le 22-06-2009 à 10:36:31  profilanswer
 

esox_ch a écrit :

Bonjour,
 
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?


Tu peux tout faire en Ruby [:heow]  
Suffit d'ouvrir ActiveRecord ou de le sous-classer, et d'y surcharger la méthode update_attributes.
Fait gaffe à tes autres plugins, p-e qu'il y en a un qui peut avoir besoin de faire un rescue sur ActiveRecord::UnknownAttributeError  [:gordon shumway]

n°1897551
esox_ch
Posté le 22-06-2009 à 10:43:01  profilanswer
 

seabee a écrit :


Tu peux tout faire en Ruby [:heow]  
Suffit d'ouvrir ActiveRecord ou de le sous-classer, et d'y surcharger la méthode update_attributes.
Fait gaffe à tes autres plugins, p-e qu'il y en a un qui peut avoir besoin de faire un rescue sur ActiveRecord::UnknownAttributeError  [:gordon shumway]


 
Hello,
 
J'aimerais éviter de devoir bidouiller dans ActiveRecord "directement" (histoire de pas devoir déployer ce fichier lorsque ça passe en prod). Concernant ce dont tu parles pour le "sous-classer", tu as un lien qui explique comment s'y prendre? Parce que j'ai déjà des plugins qui le font mais jamais compris comment ça marche et où il faut le faire  :bounce:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1897568
Skateinmar​s
Posté le 22-06-2009 à 11:05:34  profilanswer
 

esox_ch a écrit :


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".


 
Par curiosité pourquoi tu veut faire ca ?


---------------
Feedback HAV
n°1897587
seabee
Posté le 22-06-2009 à 11:16:55  profilanswer
 

esox_ch a écrit :


 
Hello,
 
J'aimerais éviter de devoir bidouiller dans ActiveRecord "directement" (histoire de pas devoir déployer ce fichier lorsque ça passe en prod). Concernant ce dont tu parles pour le "sous-classer", tu as un lien qui explique comment s'y prendre? Parce que j'ai déjà des plugins qui le font mais jamais compris comment ça marche et où il faut le faire  :bounce:


Ouvrir une classe ne veut pas dire éditer le fichier qui contient cette classe (ou une partie de).
C'est simplement faire ça :  

Code :
  1. class ActiveRecord::Base
  2.  def update_attributes
  3.    # do my stuff
  4.  end
  5. end


 
et faire un require sur le fichier qui contient ta fonction après le chargement des fichiers qui contiennent l'implémentation d'origine de ta classe.
Pour faire simple, si tu es sous rails, vas dans /lib, crée un fichier active_record_hasks.rb et copie le bout de code en reprenant et en modifiant le code de ta fonction qui vient de ActiveRecord : vendor/rails/activerecord/lib/active_record/base.rb.
Rails charge automatiquement lib/*.rb après vendor/rails/*
C'est du monkey-patching.
 
Si tu as besoin de plus d'infos, va voir http://guides.rubyonrails.org/plugins.html
 
Tu en apprendras plus sur les conventions de codes Rails et les possibilités de Ruby.


Message édité par seabee le 22-06-2009 à 11:20:02
n°1897673
esox_ch
Posté le 22-06-2009 à 14:31:59  profilanswer
 

Ah enfin! Vraiment intéressant merci beaucoup.
Dernière petite question. J'ai vu que certains plugins définissent des "filtres" custom. Je veux dire qu'en plus des before_filter, around_filter & co habituels, ils fournissent des handlers propres au plugin. Tu sais comment ça marche pour que je puisse me créer un "filtre" esox_filter ? :D


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1897726
seabee
Posté le 22-06-2009 à 16:12:15  profilanswer
 

esox_ch a écrit :

Ah enfin! Vraiment intéressant merci beaucoup.
Dernière petite question. J'ai vu que certains plugins définissent des "filtres" custom. Je veux dire qu'en plus des before_filter, around_filter & co habituels, ils fournissent des handlers propres au plugin. Tu sais comment ça marche pour que je puisse me créer un "filtre" esox_filter ? :D


Cherche "call_back ruby" pour comprendre ce qu'est un before_filter. Là tu mélanges un peu tout.
 
Pour faire simple, on ajoute des call_backs quand on a ajouté un comportement à une classe (via monkey patching) pour que l'utilisateur puisse effectuer des modifications/contrôles sur ses données avant/après/autour des actions de ton patch.
esox_filter ne veut rien dire à priori.
before_esox_treatment ou after_esox_treatment fait déjà plus de sens.

n°1897731
esox_ch
Posté le 22-06-2009 à 16:16:13  profilanswer
 

Salut,

 

D'accord.. J'utilisais esox_filter juste "comme ça". En fait la question m'est venue lorsque j'ai commencé à utiliser le plugin acl_system ( http://brainspl.at/articles/2006/0 [...] acl_system ) qui fourni un callback appelé access_control. Et j'aurais voulu faire pareil pour une autre fonctionalitée


Message édité par esox_ch le 22-06-2009 à 16:16:24

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1898571
Skateinmar​s
Posté le 24-06-2009 à 10:21:52  profilanswer
 

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


---------------
Feedback HAV
n°1898586
masklinn
í dag viðrar vel til loftárása
Posté le 24-06-2009 à 11:01:54  profilanswer
 

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


rien, mais t'as essayé de regarder du côté de Tokyo Cabinet & Tokyo Tyrant?


---------------
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°1898587
esox_ch
Posté le 24-06-2009 à 11:03:10  profilanswer
 

Tu mets ça dans un des fichiers dans le dossier /config/initializers (je suis plus sur du nom).
Perso j'ai un fichier main.yml, qui est loadé par un de ces fichier, ça me crée un gros hash que je freeze et j'utilise dans le reste de l'appli


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1898640
Skateinmar​s
Posté le 24-06-2009 à 13:32:53  profilanswer
 

masklinn a écrit :


rien, mais t'as essayé de regarder du côté de Tokyo Cabinet & Tokyo Tyrant?

 

J'ai encore rien testé justement, j'ai entendu parler de plusieurs solutions dont tokyo cabinet (qui semble bien hype), mais je n'ai pas vu de retour détailé :/

 
esox_ch a écrit :

Tu mets ça dans un des fichiers dans le dossier /config/initializers (je suis plus sur du nom).
Perso j'ai un fichier main.yml, qui est loadé par un de ces fichier, ça me crée un gros hash que je freeze et j'utilise dans le reste de l'appli

 

C'est ce que je fais habituellement (plutôt avec configatron d'ailleurs) mais ici les paramètres doivent pouvoir être modifiés "à la volée", selon le domaine depuis lesquels les visiteurs utilisent l'application

Message cité 1 fois
Message édité par Skateinmars le 24-06-2009 à 13:33:16

---------------
Feedback HAV
n°1898647
masklinn
í dag viðrar vel til loftárása
Posté le 24-06-2009 à 13:57:56  profilanswer
 

Skateinmars a écrit :

C'est ce que je fais habituellement (plutôt avec configatron d'ailleurs) mais ici les paramètres doivent pouvoir être modifiés "à la volée", selon le domaine depuis lesquels les visiteurs utilisent l'application


Tu peux pas stocker ta conf dans une DB déjà utilisée avec le reste?


---------------
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°1898688
Skateinmar​s
Posté le 24-06-2009 à 15:11:54  profilanswer
 

masklinn a écrit :


Tu peux pas stocker ta conf dans une DB déjà utilisée avec le reste?


 
Je sais pas trop non plus comment j'utiliserais ma bdd, mais à priori je partirai sur plusieurs schemas pour bien partitionner les données.
La première requête vers le serveur clé/valeurs servirait donc à récupérer le nom du schema en fonction du domaine si celui-ci existe
 
A moins que je pense n'importe comment  [:petrus dei]


---------------
Feedback HAV
n°1899745
esox_ch
Posté le 27-06-2009 à 20:15:48  profilanswer
 

Bonjour,

 

je dois avoir mal compris comment marche le monkey-patching parce que j'arrive pas à faire ce que je cherche...
Donc j'utilise le module acl_system2, qui défini

Code :
  1. module Caboose
  2.    module AccessControl
  3.    ......
  4.      module ClassMethods
  5.       def access_control(actions={})
  6.      ....
  7.     end
  8.   end
  9. end
 

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.
Le problème c'est que j'ai pas l'impression que Rails prenne en compte mon fichier.

 

J'ai même recopié le contenu du init.rb du module  :

 
Code :
  1. require 'caboose/logic_parser'
  2. require 'caboose/role_handler'
  3. require 'caboose/access_control'
  4. #
  5. ActionController::Base.send :include, Caboose
  6. ActionController::Base.send :include, Caboose::AccessControl
 

À la fin du fichier mais rien n'y fait ..

 

Edit : Je confirme que je fichier n'est même  pas lu. Je viens de remplacer tout mon code ruby par un truc non valid en Ruby et rien ne plante :bounce: . Il suffit pas de faire redémarrer Apache pour que les changements dans /lib soient pris en compte ? (J'utilise fcgi , donc pas de mongrel ou autre à redémarrer)

Message cité 1 fois
Message édité par esox_ch le 27-06-2009 à 20:18:53

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1899805
esox_ch
Posté le 28-06-2009 à 12:09:42  profilanswer
 

D'accord le problème venait juste du nom du fichier...
Il fallait le placer dans /lib/caboose/access_control.rb

 

Par contre mon problèm reste : Comment monkey-patcher un plugin?

Message cité 1 fois
Message édité par esox_ch le 28-06-2009 à 12:18:54

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1899845
Skateinmar​s
Posté le 28-06-2009 à 16:38:39  profilanswer
 

esox_ch a écrit :

D'accord le problème venait juste du nom du fichier...
Il fallait le placer dans /lib/caboose/access_control.rb
 
Par contre mon problèm reste : Comment monkey-patcher un plugin?


 
Créé un 2e plugin que tu charges après le premier ?


---------------
Feedback HAV
n°1899851
esox_ch
Posté le 28-06-2009 à 17:43:34  profilanswer
 

Bah disons que c'est pas mal de boulot pour pas grand chose ... il y a 1 ligne à changer dans le plugin :o
 
Pour le moment j'ai réglé ça en changeant le code du plugin et j'ai soumis un patch au dev..


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1899881
esox_ch
Posté le 28-06-2009 à 20:37:20  profilanswer
 

Autre chose... Il y a une manière plus "light" d'écrire ce genre de chose :  
 

Code :
  1. def update
  2.    begin
  3.     ...
  4.    rescue UnautorizedUpdate
  5.      permission_denied
  6.    rescue ActiveRecord::UnknownAttributeError
  7.      permission_denied
  8.    rescue ActiveRecord::RecordNotFound
  9.      permission_denied
  10.    end
  11.  end


 
Je  pensais pouvoir écrire simplement  

Code :
  1. begin
  2. ...
  3.   rescue UnautorizedUpdate
  4.    rescue ActiveRecord::UnknownAttributeError
  5.    rescue ActiveRecord::RecordNotFound
  6.      permission_denied
  7.    end
  8.  end


 
Mais ça semble pas donner grand chose :o


Message édité par esox_ch le 28-06-2009 à 20:37:36

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1899904
Skateinmar​s
Posté le 28-06-2009 à 21:57:11  profilanswer
 

rescue ActiveRecord::UnknownAttributeError, ActiveRecord::RecordNotFound
 
sur la même ligne doit marcher


---------------
Feedback HAV
n°1900009
seabee
Posté le 29-06-2009 à 10:14:04  profilanswer
 

Skateinmars a écrit :

rescue ActiveRecord::UnknownAttributeError, ActiveRecord::RecordNotFound
 
sur la même ligne doit marcher


It does®

n°1900010
seabee
Posté le 29-06-2009 à 10:14:47  profilanswer
 

esox_ch a écrit :

Bah disons que c'est pas mal de boulot pour pas grand chose ... il y a 1 ligne à changer dans le plugin :o
 
Pour le moment j'ai réglé ça en changeant le code du plugin et j'ai soumis un patch au dev..


/lib est chargé après, juste comme ça :D

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

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   profilanswer
 

 Page :   1  2  3  4  5  ..  16  17  18  ..  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)