我有两个模型:
- 学生 - has_one 储物柜
- 储物柜 - 属于学生
我在储物柜表中有一个 student_id。
创建一个将学生分配到储物柜的表格非常简单,特别是使用 simple_form。找到学生拥有的储物柜也很简单。
但是如何为学生分配储物柜?意思是,不是去储物柜表格并选择学生,而是去学生并分配一个储物柜 - 这更直观。
我试图扭转事情,但它只是读起来不太好:学生属于_to locker - 这对我来说有点不合适。
我的问题是我该如何处理?
谢谢!
我有两个模型:
我在储物柜表中有一个 student_id。
创建一个将学生分配到储物柜的表格非常简单,特别是使用 simple_form。找到学生拥有的储物柜也很简单。
但是如何为学生分配储物柜?意思是,不是去储物柜表格并选择学生,而是去学生并分配一个储物柜 - 这更直观。
我试图扭转事情,但它只是读起来不太好:学生属于_to locker - 这对我来说有点不合适。
我的问题是我该如何处理?
谢谢!
这应该有效:
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
作为学生有一个外键字段。
当您创建一个新的储物柜时,它会自动分配给一个学生。
例如在Lockers_controller
def new
@student = Student.find(params[:id])
@locker = @student.build_locker
end
所以这与已经locker
绑定student
- 这意味着您可以通过调用找到学生的储物柜@student.locker