Доброго день всем,рельсы ссылки: положить ассоциации на заливе
Вместо того, чтобы делать весь «BELONGS_TO» и «HAS_MANY» отношения между непосредственно связанными моделями, я соединил их всех, добавляя тонны ссылок.
Мое понимание состоит в том, что единственное различие является семантическим - однако семантика очень важна, и учитывая, что я новичок в рельсах (и новых для программирования в целом) и учитывая, что я влюбился в внешние ключи (< 3 реляционных баз данных), я боюсь, я, возможно, запятнал свою базу данных (: gasp). В общем, у меня есть 2 вопроса: 1. Каковы препятствия для его сохранения? и 2. Как я могу изменить его?
Я экспериментировал с изменением его с помощью следующих шагов (для некоторых из миграций, а не для всех), я хотел иметь что-то, чтобы сравнить с ними. 1. удаленный файл миграции -> 2. добавлено соответствующее имя принадлежит_to/has_many ассоциации в файле модели, 3. rails db: migrate. Однако, похоже, это ничего не изменило.
Любое понимание будет оценено по достоинству. Благодаря!
Отличный ответ! Я никогда не считал, что «база данных» и «Rails» работают как отдельные объекты, хотя с ретроспективностью это имеет большой смысл. «чьи имена следуют определенной схеме» проливает свет на то, почему «rails db: migrate» выбрасывал ошибки, когда я пытался использовать нетрадиционно-именный первичный ключ одной таблицы (таблица «Annotation», pk: «selected», error: no отношение «selecteds») для «добавления ссылок» этого столбца в качестве внешнего ключа другой таблицы. Я должен вручную добавить внешний ключ в файл миграции. Еще раз спасибо - un saludo – michaelsking1993