Я делаю некоторое отражение и сталкивался с неожиданным дорожным блоком.
Есть ли метод объекта в ruby (или рельсах), который возвращает себя
ruby-1.9.2> o = Object.new
=> #<Object:0x00000104750710>
ruby-1.9.2> o.class
=> Object
ruby-1.9.2> o.send :self
NoMethodError: undefined method `self' for #<Object:0x00000104750710>
Что я хочу
ruby-1.9.2> o.send :self
=> #<Object:0x00000104750710>
Является ли это встроенным? Или мне нужно расширить объект (всегда меня раздражает открытие объекта):
class Object
def itself
self
end
end
И тогда так:
ruby-1.9.2> o.send :itself
=> #<Object:0x00000104750710>
Хорошо, некоторый опыт того, чего я пытаюсь достичь. У меня есть общий помощник таблицы в моем приложении rails, и вы вызываете, если так:
render_list @person, [{field: :name, link_to: :itself},
{field: {address: :name}, link_to: :address}]
Я боролся по правильному пути, чтобы называть :itself
- но я думаю, что мой патч - это путь.