Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails模型关联-用户创建作业,但是用户应该接受作业并分配给它们_Ruby On Rails_Activerecord_Model_Associations_One To One - Fatal编程技术网

Ruby on rails Rails模型关联-用户创建作业,但是用户应该接受作业并分配给它们

Ruby on rails Rails模型关联-用户创建作业,但是用户应该接受作业并分配给它们,ruby-on-rails,activerecord,model,associations,one-to-one,Ruby On Rails,Activerecord,Model,Associations,One To One,现在我有了一个模型,用户可以登录并创建作业。作业属于:用户,用户有许多:作业。到现在为止,一直都还不错。但是现在我想建立一个一对一的关系,每个作业都可以分配一个用户给他们。关联用户模型和作业模型的最佳方式是什么 示例: 用户可以创建作业,并为其分配不同的用户 用户可以创建作业并将其分配给该作业 作业只能分配一个用户,但不需要分配一个用户 作业将始终具有创建者(用户id) 由于我已经设置了作业属于:users,因此已经有了作业的user\u id列,那么我现在如何重新使用该列来显示接受作业/被分配

现在我有了一个模型,
用户可以登录并创建
作业
。作业
属于:用户
,用户
有许多:作业
。到现在为止,一直都还不错。但是现在我想建立一个一对一的关系,每个作业都可以分配一个用户给他们。关联用户模型和作业模型的最佳方式是什么

示例:

  • 用户可以创建作业,并为其分配不同的用户
  • 用户可以创建作业并将其分配给该作业
  • 作业只能分配一个用户,但不需要分配一个用户
  • 作业将始终具有创建者(用户id)
  • 由于我已经设置了作业
    属于:users
    ,因此已经有了作业的
    user\u id
    列,那么我现在如何重新使用该列来显示接受作业/被分配到作业


    谢谢

    您可以使用不同的外键在
    作业
    用户
    类之间设置多个关联:

    class Job < ActiveRecord::Base
      belongs_to :user
      belongs_to :assigned_user, :class_name => "User", :foreign_key => "assigned_user_id"
    end
    
    class User < ActiveRecord::Base
      has_many :jobs
      has_many :assigned_jobs, :class_name => "Job", :foreign_key => "assigned_user_id"
    end
    
    类作业“用户”,:外部密钥=>“分配的用户id”
    结束
    类用户“作业”,:foreign\u key=>“已分配的用户id”
    结束