如何在Ruby(on Rails)中复数符号?

Mis*_*hko 6 ruby ruby-on-rails pluralize

这有效,但看起来有点难看:

s = :shop
s.to_s.pluralize.to_sym   # => :shops
Run Code Online (Sandbox Code Playgroud)

是否有更好的方式来复数Symbol

Mat*_*ira 8

您可以复数a String,表示实际文本.Symbols有点抽象.

所以,根据定义,没有.但是,也许您可​​以打开Symbol类定义并添加:

class Symbol
  def pluralize
    to_s.pluralize.to_sym
  end
end
Run Code Online (Sandbox Code Playgroud)

然后,你可以打电话:

:shop.pluralize # => :shops
Run Code Online (Sandbox Code Playgroud)


Rya*_*igg 6

不,就是这样。