rails 2.0中固定装置中的外键

时间:2009-08-06 19:14:05

标签: ruby-on-rails ruby fixtures

我在Rails中遇到了我的灯具问题。

我有两个模型,一条消息和一个用户。用户模型是从restful身份验证生成的。邮件包含发件人和收件人,这两者都是用户。

当我不使用灯具时,一切正常。但是当我尝试在灯具中使用它们时,两者都是零。

这是消息夹具文件:

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

quentin和aaron是通过restful authentication生成的用户设备。

有没有办法可以在那里使用生成的ID,或者我必须采用其他方式吗?

2 个答案:

答案 0 :(得分: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的夹具标签插值。

答案 1 :(得分:0)

问题出在通过restful authentication创建的fixture文件中。

quentin:
    id: 1
    ...

aaron:
    id: 2
    ...

我删除了这些ID,一切正常。