này hoạt động, nhưng trông một chút xấu xí:Làm thế nào để tạo thành một biểu tượng trong Ruby (trên Rails)?
s = :shop
s.to_s.pluralize.to_sym # => :shops
Có cách nào đẹp hơn để pluralize một Symbol
?
này hoạt động, nhưng trông một chút xấu xí:Làm thế nào để tạo thành một biểu tượng trong Ruby (trên Rails)?
s = :shop
s.to_s.pluralize.to_sym # => :shops
Có cách nào đẹp hơn để pluralize một Symbol
?
Bạn có thể định dạng số nhiều String
, thể hiện văn bản thực tế. Symbol
s trừu tượng hơn một chút.
Vì vậy, theo định nghĩa, không có. Tuy nhiên, có lẽ bạn có thể mở ra các định nghĩa lớp Symbol và thêm:
class Symbol
def pluralize
to_s.pluralize.to_sym
end
end
Sau đó, bạn chỉ có thể gọi:
:shop.pluralize # => :shops
Không, đó là cách.
Nếu bạn cảm thấy thoải mái thay đổi lớp học của Ruby, sau đó làm việc này:
class Symbol
def pluralize
self.to_s.pluralize.to_sym
end
end
tôi vẫn chưa tìm ra giải pháp thanh lịch hơn, mặc dù tôi nghi ngờ nếu có, nó có lẽ chỉ là Rails thực hiện một cái gì đó tương tự với những gì tôi có ở trên.
Không, bởi vì biểu tượng không có nghĩa là phải được thay đổi (họ là không thay đổi). – mpd