我有以下表格:
has_one
我需要设置一个has_one :type
关联('用户' .type =>'类型' .id)。但是,据我所知,当我写下这样的内容时:
user.rb
{{1}}
它似乎在用户' .id和'类型' .id之间建立了关系。如何准确指定'用户' .type => '类型' .id has_one association?
答案 0 :(得分:1)
终于找到了解决方案:
的 user.rb 强>
belongs_to :type
<强> type.rb 强>
has_many :users, foreign_key: "type_id"
答案 1 :(得分:0)
将users表的type列重命名为type_id
user.rb
belongs_to :of_type, class_name: 'Type', foreign_key: 'type_id'
type.rb
has_many :users
Rails控制台尝试执行类似
的操作u = User.last
u.of_type
最后一行会为您提供类型记录
如果您不想重命名列,则在user.rb中,您可以将其写为
belongs_to :of_type, class_name: 'Type', foreign_key: 'type'
答案 2 :(得分:-1)
试试这个
in your user.rb
class User
has_one :type, class: 'Type', foreign_key: 'type'
end
in your type.rb
class Type
belongs_to :user
end