可以在Active_Record中多次定义“belongs_to”吗?

时间:2012-07-02 20:29:04

标签: ruby-on-rails-3 database-design activerecord orm forums

我正在为镇上的公司写一个数据库。我使用Devise进行身份验证,使用Forem进行网站论坛。我决定只有一个类“帐户”用于Devise身份验证,它将为该站点提供许多不同的访问类型。

大部分用户将只是客户,他们按路线隔离(不是Rails路线,街道路线)。所以我决定让他们拥有自己的个人资料模型。

我想这样做 - 个人资料链接到帐户和路由。 (路由命名为gmr_routes)

这段代码是正确的方法吗?我发现的文档没有告诉我我不能,但我只是想确定....

    class Profile < ActiveRecord::Base
      attr_accessible :first_name, :last_name, :phone_number, :street_address
        belongs_to :account
        belongs_to :gmr_route
    end

帐户与个人资料有一个has_one关系,而gmr_route有一个has_many。

这是对的吗?

布赖恩

1 个答案:

答案 0 :(得分:0)

是的,这完全可以接受。您需要记住在具有belongs_to的任何模型上包含外键ID。

因此,在您描述的情况下,迁移中会有account_id:integergmr_route_id:integer,并且会在模型的attr_accessible调用中包含这些内容