Cela fonctionne, mais semble un peu laid:Comment pluraliser un symbole en Ruby (on Rails)?
s = :shop
s.to_s.pluralize.to_sym # => :shops
Y at-il une plus belle façon de pluralize un Symbol
?
Cela fonctionne, mais semble un peu laid:Comment pluraliser un symbole en Ruby (on Rails)?
s = :shop
s.to_s.pluralize.to_sym # => :shops
Y at-il une plus belle façon de pluralize un Symbol
?
Vous pouvez mettre au pluriel un String
, qui représente du texte réel. Symbol
s sont un peu plus abstraites.
Donc, par définition, non. Cependant, peut-être vous pouvez ouvrir la définition de la classe Symbol et ajouter:
class Symbol
def pluralize
to_s.pluralize.to_sym
end
end
Ensuite, vous pouvez simplement appeler:
:shop.pluralize # => :shops
Non, c'est comme ça.
Si vous êtes à l'aise de modifier les classes de Ruby, cela fonctionne:
class Symbol
def pluralize
self.to_s.pluralize.to_sym
end
end
Je n'ai pas encore trouver une solution plus élégante, même si je suppose que s'il y avait, il serait probablement juste Rails de mise en œuvre quelque chose de similaire à ce que j'ai ci-dessus.
Non, parce que les symboles ne sont pas destinés à être modifiés (ils sont immuables). – mpd