Внешние ключи в светильниках в рельсах 2.0 - PullRequest
0 голосов
/ 06 августа 2009

У меня проблемы с приборами в Rails.

У меня есть две модели: сообщение и пользователь. Пользовательская модель генерируется из спокойной аутентификации. Сообщение имеет отправителя и получателя, которые оба являются пользователями.

Когда я не использую приборы, все работает нормально. Но когда я пытаюсь использовать их в светильниках, оба равны нулю.

Это файл сообщений:

first_message_for_quentin:
    title: First message
    body: This is your first message.
    recipient: quentin
    sender: aaron

quentin и aaron - пользовательские приборы, которые были сгенерированы спокойной аутентификацией.

Есть ли способ, как я могу использовать сгенерированные идентификаторы там, или я должен сделать это по-другому?

Ответы [ 2 ]

3 голосов
/ 07 августа 2009

Приборы ActiveRecord создают столбец ID для каждой строки, вызывая Fixtures.identify на метке, которую вы дали строке в yaml.

Так что вы должны быть в состоянии сделать что-то вроде следующего:

first_message_for_quentin:
    title: First message
    body: This is your first message.
    recipient_id: <%= Fixtures.identify(:quentin) %>
    sender_id: <%= Fixtures.identify(:aaron) %>

Возможно, вы захотите взглянуть на некоторые из документов для интерполяции меток приборов.

0 голосов
/ 07 августа 2009

Проблема была в файле фикстура, который был создан с помощью повторной аутентификации.

quentin:
    id: 1
    ...

aaron:
    id: 2
    ...

Я удалил эти идентификаторы, и все работает нормально.

...