2009-12-18 1 views
0

У меня есть вопрос о том, где значение в выпадающих поступает из:Rails - Миграция данных против значения в БД

У меня есть миграции, которые создали оригинальную таблицу с некоторыми начальными значениями:

add_column :contracts, :signature_status_id, :integer 

# lookup data 
sig = SignatureStatus.new(:name => "Delivered") 
sig.save! 
sig = SignatureStatus.new(:name => "Signed") 
sig.save! 

у меня есть таблица под названием signature_statuses, который содержит обновленные значения:

id, name 
1, 'Delivered; awaiting signature' 
2, 'Delivered; awaiting full execution' 
3, 'Terms being negotiated' 
4, 'Fully executed and filed' 

у меня есть форма, которая содержит код, чтобы вытащить статус подписи:

<%= collection_select(:contract, :signature_status_id, @signature_statuses, :id, :name) %> 

Выбор коллекции подталкивает «Подписано» и «Поставляется», когда я хочу, чтобы это было из БД. Как мне это сделать.

Примечание: Я думаю, что данные были отредактированы вручную, а не миграции, но я не уверен. Я также искал код для «подписанных» и «поставленных», но единственное место, которое он обнаружил, находится в процессе миграции.

ответ

0

Получается, мне нужно было запустить «rake db», и это исправило его.

0

Мне просто интересно, как вы получаете этот список значений в таблице signature_statuses? Вы запрашиваете свою базу данных разработки? Ваше приложение работает в режиме разработки? Правильно ли настроен файл database.yml, чтобы указать на вашу базу данных разработки?

Также вы можете разместить код контроллера, который заполняет переменную @signature_statuses.

Немного больше информации, и я уверен, что люди смогут вам помочь.

+0

запрос к БД разработки – easement

0

Хммм, это немного странно, но я подозреваю следующее: там может быть метод, называемый name внутри signature_status модели, которая заменяемое по умолчанию один и который возвращает yes и no.

0

Ключ к отладке это посмотреть, где

@signature_statuses 

создается в контроллере. Если он вытаскивает из базы данных, то это то, что находится в базе данных. Интересно, существует ли более одной базы данных, где ваша миграция обновляет базу данных разработки, но вы выполняете запрос против производства (или что-то в этом роде).