2009-08-06 3 views
0

레일의 고정물에 문제가 있습니다.레일 2.0의 고정 장치에있는 외래 키

두 가지 모델, 메시지와 사용자가 있습니다. 사용자 모델은 편안한 인증을 통해 생성됩니다. 메시지에는 보낸 사람과받는 사람이 있으며 둘 다 사용자입니다.

조명기를 사용하지 않으면 모든 것이 잘 동작합니다. 하지만 조명기에서 사용하려고 할 때 둘 다 0입니다.

이 메시지기구 파일이다

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

쿠엔틴 아론로운 인증에 의해 생성 된 사용자 설비이다.

생성 된 ID를 사용할 수있는 방법이 있습니까 아니면 다른 방법으로해야합니까?

+1

fixtures 대체품으로 factory_girl, 기계공 또는 fixjour를 들여다 보았습니까? – Laz

+0

아니요, 아직 아니지만 할 것입니다. –

답변

0

편안한 인증으로 생성 된 조명기 파일에 문제가 있습니다.

quentin: 
    id: 1 
    ... 

aaron: 
    id: 2 
    ... 

이러한 ID를 제거했는데 문제가 없습니다.

+0

아, 그럴거야. – csexton

3

ActiveRecord Fixtures는 yaml에서 행에 부여한 레이블에 Fixtures.identify을 호출하여 각 행에 대한 ID 열을 만듭니다.

그래서 당신은 다음과 같이 뭔가를 할 수 있어야한다 :

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

당신은 고정 레이블 보간의 docs의 일부를보고 할 수 있습니다.

+0

나중에 다시 시도합니다. 문서를 보내 주셔서 감사합니다. –

+0

이것은 작동하지 않았습니다. 나는 좀 더 깊게 파고 진짜 문제를 발견했다. –