0

我有两个模型:

  • 学生 - has_one 储物柜
  • 储物柜 - 属于学生

我在储物柜表中有一个 student_id。

创建一个将学生分配到储物柜的表格非常简单,特别是使用 simple_form。找到学生拥有的储物柜也很简单。

但是如何为学生分配储物柜?意思是,不是去储物柜表格并选择学生,而是去学生并分配一个储物柜 - 这更直观。

我试图扭转事情,但它只是读起来不太好:学生属于_to locker - 这对我来说有点不合适。

我的问题是我该如何处理?

谢谢!

4

2 回答 2

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作为学生有一个外键字段。

于 2013-09-11T12:01:47.110 回答
0

当您创建一个新的储物柜时,它会自动分配给一个学生。

例如在Lockers_controller

def new
  @student = Student.find(params[:id])
  @locker = @student.build_locker
end

所以这与已经locker绑定student- 这意味着您可以通过调用找到学生的储物柜@student.locker

于 2013-09-11T12:03:16.650 回答