Как плюрализовать символ в Ruby (on Rails)?
это работает, но выглядит немного некрасиво:
s = :shop
s.to_s.pluralize.to_sym # => :shops
есть ли более приятный способ множественного числа a Symbol
?
3 ответов
вы можете множественное число String
, который представляет сам текст. Symbol
s немного более абстрактны.
так, по определению, нет. Однако, возможно, вы могли бы открыть определение класса символов и добавить:
class Symbol
def pluralize
to_s.pluralize.to_sym
end
end
тогда вы можете просто позвонить:
:shop.pluralize # => :shops
Если вам удобно изменять классы Ruby, то это работает:
class Symbol
def pluralize
self.to_s.pluralize.to_sym
end
end
мне еще предстоит найти более элегантное решение, хотя я подозреваю, что если бы оно было, это, вероятно, просто рельсы, реализующие что-то подобное тому, что у меня есть выше.