在这种情况下是必须的has_one关系?

时间:2011-11-25 10:09:28

标签: ruby-on-rails

我有一个User模型,它有一个工作区属性。工作区不是强制性的,我将其创建为单独的模型,因为它具有多个属性(公司,部门,服务年限等)。

我提出了一个has_one& belongs_to User和Workplace之间的关系,以简化Workplace模型中的数据操作和请求。但是,如果在创建时它们是空的,那么将数据填充到Workplace模型属性的正确方法是什么?

2 个答案:

答案 0 :(得分:0)

你可以做到

  user = User.new
  user.workplace.company = "Company"

这必须起作用,因为用户有工作场所,工作场所属于用户。

答案 1 :(得分:0)

您实施模型的方式,您也可以分开创建两个模型,然后只写user.workplace = workplace

 user = User.new(...) # or however you create the object
 workplace = Workplace.new(...) # or however you create the object
 user.workplace = workplace
 # or 
 workplace.user = user