Ваш вопрос очень неясен.Как метод respond_to?
связан с вашей проблемой с идентификатором объекта?
Я догадываюсь , что на самом деле вы хотели переопределить method_missing
, потому что теперь вы не вызываете respond_to?
или это не показано в ваших примерах.
Если вы не определили такой метод, вызов image.s_245_245
вызовет method_missing
(в объекте image
) с параметрамивы использовали для respond_to?
.
Существует правило, которое гласит, что если вы используете method_missing
для обработки некоторых вызовов, то вы должны также изменить respond_to?
и сделать еговозвращает true, когда запрашивается методы, обрабатываемые method_missing
.
Что касается идентификатора объекта, существует две возможности:
- Каждый объект в ruby отвечает на
.object_id
(который возвращаетвнутренний идентификатор каждого объекта) - Объекты ActiveRecord отвечают на
.id
(который является первичным ключом в базе данных).
Это просто дополнительная заметка, потому что яПредположим, что если вы начнете экспериментировать с method_missing
вместо respond_to?
, вы будете знать, какиетот, который вы хотите.