Похоже, ошибка, которую вы получаете из следующей строки в form_helper.rb:
object_name = options[:as] || ActiveModel::Naming.param_key(object)
Если вы жестко закодируете в: as => "Entry", вы получите чуть дальше.Или вы можете расширить класс для ответа на метод имя_модели.Вот код в ActiveModel :: Naming, который вызывает имя_модели:
def self.model_name_from_record_or_class(record_or_class)
(record_or_class.is_a?(Class) ? record_or_class : convert_to_model(record_or_class).class).model_name
end
Я мог бы продолжать следить за вызовами, но я бы порекомендовал вам следовать ему самому.В конце концов вы найдете вызов, который возвращает хэш атрибутов и значений, которые использует построитель форм в form_for.
Просто посмотрите в исходном коде rails, посмотрите, где ваш код выдает ошибку, и расширьте свой класс, чтобы реагировать на него.правильный вызов.Продолжайте делать это, и ваша модель будет нормально реагировать.Вам не нужно быть моделью активной записи, чтобы выглядеть, ходить и звучать как модель активной записи.