我有两种模式:
我在储物柜桌上有一个student_id。
创建表单以将学生分配给储物柜非常简单,特别是使用simple_form。找到学生的储物柜也很简单。
但我如何为学生分配储物柜? 意思是,不是去更衣室形式和选择学生,而是去学生并分配一个更衣柜 - 这更直观。
我试图扭转局面,但它看起来并不好: 学生belongs_to储物柜 - 这对我来说不太好。
我的问题是如何解决这个问题?
THX!
答案 0 :(得分:0)
这应该有效:
class Student < ActiveRecord::Base
has_one :locker
def locker_id=(value)
self.locker = Locker.find(value)
end
def locker_id
locker ? locker.id : nil
end
end
然后你可以使用locker_id
,因为学生有一个外键字段。
答案 1 :(得分:0)
当您创建新的储物柜时,它将自动分配给学生。
例如在Lockers_controller
def new
@student = Student.find(params[:id])
@locker = @student.build_locker
end
所以locker
已经与student
绑定了 - 这意味着您可以通过致电@student.locker
来找到学生的储物柜