Ruby on rails 3.2 模型关联:外键放在哪里
我在做一个项目,控制设备借给用户 它显示一个借出视图,该视图呈现一个表单,用户可以在其中通过选择框选择他/她想要的设备。如果设备在选择框中不可用,则用户必须注册设备,然后该设备将显示在借出视图表单的选择框中 模范协会: 贷款有很多设备 设备属于贷款 问题是: 如果设备属于借出,那么我必须将借出id放入设备中 但是,如果用户访问新设备视图并尝试注册新设备,它将 错过借书证Ruby on rails 3.2 模型关联:外键放在哪里,ruby-on-rails-3.2,model-associations,Ruby On Rails 3.2,Model Associations,我在做一个项目,控制设备借给用户 它显示一个借出视图,该视图呈现一个表单,用户可以在其中通过选择框选择他/她想要的设备。如果设备在选择框中不可用,则用户必须注册设备,然后该设备将显示在借出视图表单的选择框中 模范协会: 贷款有很多设备 设备属于贷款 问题是: 如果设备属于借出,那么我必须将借出id放入设备中 但是,如果用户访问新设备视图并尝试注册新设备,它将 错过借书证 我怎么才能解决这个问题呢?我猜你真正想要的是,将用户与设备进行多对多映射 class User < ActiveReco
我怎么才能解决这个问题呢?我猜你真正想要的是,将用户与设备进行多对多映射
class User < ActiveRecord::Base
has_many :lendings
has_many :equipments, :through => :lendings
# etc
end
class Equipment < ActiveRecord::Base
has_many :lendings
has_many :users, :through => :lendings
# etc
end
class Lending < ActiveRecord::Base
belongs_to :user
belongs_to :equipment
# etc
end
class用户:租借
#等
结束
类设备:lendings
#等
结束
类借出
您可以编写方法,通过最新的活动借出为“当前”用户提供设备,反之亦然,并且您可以方便地记录设备项的所有借出历史。请提供有关您的型号的更多信息,特别是“借出”项代表什么?另外:全新物品不会借给任何人,是吗?假设有人想借一台“hp笔记本电脑”,他将访问借出表并在选择框中选择hp笔记本电脑,还有更多信息,如用户名、设备品牌、设备类别(我更愿意简化问题,因为问题在上面的关联中)然后他只是登记借出。新设备不会借出给任何人。我想你的角色可能颠倒了:一件设备可能被借出很多次,但每次“借出”都只是一个事件。因此,设备id和用户id都属于借出,借出成为设备和用户之间的多对多关系。