代码之家  ›  专栏  ›  技术社区  ›  Kevin Sylvestre

允许活动记录模型使用字符串分配关联

  •  0
  • Kevin Sylvestre  · 技术社区  · 14 年前

    我有一套相当基本的模型,其中一个“项目”有一个“所有者”。我想允许用户在创建新项目时输入所有者的名称。如果所有者不存在,则应该创建新的所有者。这样做有好的方法吗?我一直在考虑用 attr_accessor before_validation 不过,这似乎会与双方的关系产生冲突。有什么想法吗?谢谢!

    2 回复  |  直到 14 年前
        1
  •  1
  •   Fábio Batista Raza Ahmed    14 年前

    用不同于你们关系的名字。。。 owner_name 应该没事的。然后写下必要的 before_validation

        2
  •  1
  •   Jeremy    14 年前

    我会在你的控制器里用一些类似的东西:

    def update
      Project.transaction do
        @project.owner = Owner.find_or_create_by_name(params[:project].delete(:owner_name))
        @project.attributes = params[:project]
        @project.save!
      end
    end