Моя проблема, кажется, где-то в сгенерированных по умолчанию формах скаффолдов при использовании ссылок на внешние ключи в вашей модели.
Я подробно опишу последовательность поколений, которые я выполнил, прежде чем добрался до своей проблемы:
рельсы создают эшафот Название курса: текстовый дескриптор: текстовый URL: наклон строки: целочисленный рейтинг: число с плавающей запятой
рельсы генерируют эшафот Название события: текстовый деск: текстовое событие: дата курс: ссылки
rake db: migrate
..
На этом этапе я перехожу на страницу курсов и создаю новый курс и сохраняю его.Это прекрасно работает.
Затем я перехожу на страницу localhost: 3000 / events / new и пытаюсь создать новое событие, используя форму по умолчанию: Форма выглядит следующим образом: name: textbox desc: textbox eventdate:[заполнить виджет даты] course_id: textbox
Я заполняю поля некоторой информацией, а затем "1" в поле course_id, и нажимаю сохранить ошибку, возвращающую что-то с эффектом:
Ошибка (#xxxxxxxx) Ожидается, получена строка (#xxxxxxxx) ... Затем трассировка стека.
Итак, из того, что я вижу, я могу сказать, что мне не нравится, когда передается course_idкак строковое значение, но я не могу найти, где в структуре мне нужно получить это значение и преобразовать его в целое число.
Странно то, что записи целочисленных значений в другой таблице имеютнет проблем с конвертированием, просто кажется, что ссылка на Foreign_key вызывает проблемы.
В прошлом с rails я никогда не использовал тип "reference", и обычно я создавал Foreign_key пользователем maКороль их вручную в эшафот, так что мое поколение будет иметь course_id: integer вместо конечно: ссылки.Затем я вручную добавляю принадлежность_ в модель с этой точки.
В любом случае.Я мог бы сделать это по-старому, но я хотел получить некоторое представление о том, что делает Rails 3.0 с этим типом «ссылок».