我有两个表,它们之间有一个_to_one关系
表一:用户 - 具有用户相关列 表2:Security_Option - 具有安全相关的列和user_id(引用User表)
在user.rb中我有
one_to_one :security_option
同样在security_option.rb中我有
one_to_one :user
当我有一个访问security_option的User对象时,但当我有SecurityOption对象并尝试访问用户时,我得到一个sql异常
Sequel::DatabaseError: SQLite3::SQLException: no such column: users.security_option_id
据我所知,我可以在用户中添加security_option_id列,这样可以解决问题但是不应该通过安全表中的user_id来获取用户吗?
答案 0 :(得分:2)
one_to_one应该在关联的一侧使用,而many_to_one应该在另一侧使用。包含外键的模型应使用many_to_one,外键引用的模型应使用one_to_one。请参阅http://sequel.jeremyevans.net/rdoc/files/doc/association_basics_rdoc.html。