To działa, ale wygląda trochę brzydki:Jak zmienić liczbę symboli w Ruby (na szynach)?
s = :shop
s.to_s.pluralize.to_sym # => :shops
istnieje ładniejszy sposób pluralize się Symbol
?
To działa, ale wygląda trochę brzydki:Jak zmienić liczbę symboli w Ruby (na szynach)?
s = :shop
s.to_s.pluralize.to_sym # => :shops
istnieje ładniejszy sposób pluralize się Symbol
?
Można przekształcić liczbę String
, która reprezentuje rzeczywisty tekst. Symbol
s są nieco bardziej abstrakcyjne.
Tak więc, z definicji, nie. Jednak chyba można otworzyć definicję klasy symbol i dodać:
class Symbol
def pluralize
to_s.pluralize.to_sym
end
end
Następnie można po prostu zadzwonić:
:shop.pluralize # => :shops
Nie, to jest sposób.
Jeśli jesteś wygodny zmianę klasy Ruby, to działa:
class Symbol
def pluralize
self.to_s.pluralize.to_sym
end
end
muszę jeszcze znaleźć bardziej eleganckie rozwiązanie, chociaż podejrzewam, że gdyby nie było, to prawdopodobnie po prostu Rails wykonawcze coś podobnego do tego, co mam powyżej.
Nie, ponieważ symbole nie mają być zmienione (są niezmienne). – mpd