Bonsoir à tous,
Existe un moyen/plugin pour générer des named_scope simples (j’ai vu
http://giantrobots.thoughtbot.com/2008/10/14/life-in-the-fast-lane
mais il me manque quelque chose).
A chaque fois je me retrouve à déclarer des named_scope comme :
named_scope :category, lambda { |category| { :conditions =>
{:category => category}} }
Il n’existe pas une manière plus simple pour éviter de déclarer des
named_scope pour chacun de ses champs ?
Je vous remercie par avance,
Pierre
Le 20 novembre 2008 19:41, Pierre a écrit :
named_scope pour chacun de ses champs ?
L’idée générale (à affiner) :
class Gabuzomeu < AR::B
column_names.each do |attr|
named_scope attr.to_sym, lambda do |value|
{ :conditions => { attr_to_sym => value } }
end
end
end
(non
testé)
(+ éventuellement mettre ça dans une méthode de classe truc
et appeler truc dans la définition de classe. etc.)
– Jean-François.
–
Rails Party à Paris dimanche 30 novembre !
http://twitter.com/underflow_
merci Jean-François.
je croyais que j’avais lu quelque part qu’il y avait une méthode tout
prête déjà dans Rails (ou un plugin pour le faire) mais j’étais plus
sûr…
Merci Christian mais ce n’est pas exactement la même utilisation.
2008/12/9 Pierre V. [email protected]
Bonjour Pierre,
je croyais que j’avais lu quelque part qu’il y avait une méthode tout
prête déjà dans Rails
Est-ce que la nouvelle classe StringInquirer peut t’être utile ?
http://apidock.com/rails/ActiveSupport/StringInquirer
class Truc
def category
ActiveSupport::StringInquirer.new(“machin”)
end
end
truc = Truc.new
truc.category.machin?
=> true
truc.category.chose?
=> false
Christian
Le 20 novembre 2008 19:41, Pierre a écrit :
named_scope pour chacun de ses champs ?
Dans Edge, il y a possibilité de génération dynamique de named scopes
(“dynamic scopes”) :
Also enables dynamic scopes like scoped_by_user_name(user_name) and
scoped_by_user_name_and_password(user_name, password) that
are turned into scoped(:conditions => [“user_name = ?”, user_name])
and
scoped(:conditions => [“user_name = ? AND password = ?”, user_name,
password])
respectively.
committed 07:52PM - 28 Dec 08 UTC
– Jean-François.
–
http://twitter.com/underflow_