【问题标题】:Foreign keys in fixtures in rails 2.0rails 2.0中固定装置中的外键
【发布时间】:2010-11-17 11:14:12
【问题描述】:

我在 Rails 中的固定装置有问题。

我有两个模型,一个消息和一个用户。用户模型是从 RESTful 身份验证生成的。一条消息有一个发件人和一个收件人,他们都是用户。

当我不使用固定装置时,一切正常。但是当我尝试在固定装置中使用它们时,两者都为零。

这是消息装置文件:

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

quentin 和 aaron 是通过 RESTful 身份验证生成的用户设备。

有没有一种方法可以在那里使用生成的 id 还是必须以另一种方式使用?

【问题讨论】:

  • 您是否考虑过 factory_girl、Machinist 或 fixjour 作为固定装置的替代品?

标签: ruby-on-rails ruby fixtures


【解决方案1】:

问题出在由restful身份验证创建的fixture文件中。

quentin:
    id: 1
    ...

aaron:
    id: 2
    ...

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

【讨论】:

    【解决方案2】:

    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 的夹具标签插值。

    【讨论】:

    • 这不起作用。我挖得更深了,发现了真正的问题。
    猜你喜欢
    • 2010-10-05
    • 1970-01-01
    • 1970-01-01
    • 2016-12-16
    • 2014-08-24
    • 1970-01-01
    • 2015-05-22
    • 1970-01-01
    相关资源
    最近更新 更多