Как извлечь строку типа «cart_item» из экземпляра модели CartItem?

#ruby-on-rails #ruby-on-rails-3

#ruby-on-rails #ruby-on-rails-3

Вопрос:

Предположим, у нас есть модель CartItem, и где-то в коде у нас есть экземпляр этой модели, @my_example_cart_item . Какой самый простой способ использовать этот экземпляр и получить строку «cart_item»? Мне нужна строка для использования в качестве области видимости в поиске I18N. Следующее работает, но кажется ужасно подробным:

 @my_example_cart_item.class.model_name.underscore.downcase
# 'cart_item'
  

Комментарии:

1. @my_example_cart_item.class.to_s.underscore следует сделать то же самое

Ответ №1:

Это многословно, но понятно. Если это то, что вы будете делать часто, создайте метод, чтобы выразить это более кратко.