Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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 如何控制设计用户id值分配_Ruby On Rails_Devise - Fatal编程技术网

Ruby on rails 如何控制设计用户id值分配

Ruby on rails 如何控制设计用户id值分配,ruby-on-rails,devise,Ruby On Rails,Devise,我有一个简单的Rails应用程序,允许用户提交请求。我正在使用Desive注册并验证用户 在designe中,用户id是一个整数,designe将值1分配给第一个注册用户,然后将值2分配给第二个注册用户,依此类推 我想控制用户id的值,而不是设计。这些值基本上是随机的9位整数。当用户注册其员工ID时,这些值将来自用户 您如何从Deviate控制用户id值分配?您可能需要创建一个新的员工id字段。user_id是表的主键,它需要是唯一的,并且被活动记录大量用于关联等。我理解,但为什么实际值本身很重

我有一个简单的Rails应用程序,允许用户提交请求。我正在使用Desive注册并验证用户

在designe中,用户id是一个整数,designe将值1分配给第一个注册用户,然后将值2分配给第二个注册用户,依此类推

我想控制用户id的值,而不是设计。这些值基本上是随机的9位整数。当用户注册其员工ID时,这些值将来自用户


您如何从Deviate控制用户id值分配?

您可能需要创建一个新的员工id字段。user_id是表的主键,它需要是唯一的,并且被活动记录大量用于关联等。

我理解,但为什么实际值本身很重要?designe从1开始,默认情况下递增1。但它可以从10或99999开始,然后增加3秒或其他任何时间。据我所知,主键的值在生成时并不重要。但是一旦它被生成,它就不能改变,它可以做到,但是如果你用主键做这样的事情,它可能表明你在做一些奇怪的事情。如果你有一个employee id字段,它必须与另一个系统或db接口,那么让它也充当db中的主键看起来很僵硬,我看到id列是AUTOINCREMENT,所以我也必须关闭它。老实说,我的主要动机是id被传递给我的一个控制器,而我是一个新手,很难在这个控制器中添加一个新字段。关闭autoincrement会破坏主键的功能。我不完全理解你在控制器中加入一个新字段是什么意思。也许是什么?你为什么需要这个?别那么做。与此相反,请在数据库中使用另一列,如custom_user_id,并创建一个随机数并分配它。