【发布时间】:2012-11-22 08:59:59
【问题描述】:
给定两个模型:
class User < ActiveRecord::Base
attr_accessible :name, :user_status
end
class UserStatus < ActiveRecord::Base
attr_accessible :descr
end
user.user_status 列旨在作为单个 ID,可用于加入 UserStatus 以获取其他信息,例如状态图标和描述。
UserStatus 是一个只读引用表,它的行数非常少,而且都是唯一的。假设它只有四行:
{ :id => 0, :descr => 'New' },
{ :id => 1, :descr => 'Banned' },
{ :id => 2, :descr => 'Active' },
{ :id => 3, :descr => 'Unverified' }
我应该为引用表处理 ActiveRecord 关联吗?如果是这样,如果我想(或必须)将关联的 UserStatus ID 存储在用户表中,那么正确的 ActiveRecord 关联是什么?据我所知,基于documentation,'User belongs_to :user_status' 是我最好的选择,但在语言上这是失败的;因为用户不“属于”状态,所以用户处于状态或具有状态。还是这太让我毛骨悚然了?
【问题讨论】:
标签: ruby ruby-on-rails-3 activerecord relational-database