0
Итак, я передаю строку с именем класса модели activerecord в свой метод, и я хочу, чтобы иметь возможность вызвать некоторые методы в этом классе.Как получить класс ruby, когда его имя находится в переменной?
Это неправильно:
def perform(body_class, body_id)
body = body_class.constantize
request = body.find(body_id)
end
Update - это на самом деле работает отлично.
Почему именно это неправильно? Это именно то, что вы сделали бы, если у вас есть ActiveSupport, и, поскольку вы отметили это с помощью Rails, это возможно. –
Это должно сработать. Вы уверены, что 'body_class' является допустимым именем класса? – kddeisz
О! Похоже, что у меня была неправильная капитализация в классе body_class, который я проходил. Теперь работает. Спасибо, парни! –