Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.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 活动模型的API版本控制_Ruby On Rails_Activerecord_Activemodel_Api Versioning - Fatal编程技术网

Ruby on rails 活动模型的API版本控制

Ruby on rails 活动模型的API版本控制,ruby-on-rails,activerecord,activemodel,api-versioning,Ruby On Rails,Activerecord,Activemodel,Api Versioning,我正在构建一个应用程序,其中我有一个模型用户,在该应用程序的第一个版本中,用户的手机号码栏将不存在,在以后的版本中,它必须存在,是否有任何方法向模型添加版本控制,以便将活动记录验证写入特定版本。保持旧用户的完整性,并对新用户进行子类化。由于ActiveRecord支持单表继承,数据库将有一个名为type的新列来区分新旧用户。您的验证将仅针对新用户 将它们保留为不同的类反映了您的业务模式,即老用户没有移动电话号码。这可能是解决方案之一,但我希望的是,是否有任何方法可以向活动模型添加版本控制以提及验

我正在构建一个应用程序,其中我有一个模型用户,在该应用程序的第一个版本中,用户的手机号码栏将不存在,在以后的版本中,它必须存在,是否有任何方法向模型添加版本控制,以便将活动记录验证写入特定版本。

保持旧用户的完整性,并对新用户进行子类化。由于ActiveRecord支持单表继承,数据库将有一个名为
type
的新列来区分新旧用户。您的验证将仅针对新用户


将它们保留为不同的类反映了您的业务模式,即老用户没有移动电话号码。

这可能是解决方案之一,但我希望的是,是否有任何方法可以向活动模型添加版本控制以提及验证,而不是向表中添加列,例如,拥有
仅对第二个版本验证:mobile\u number
的存在。如果一个版本的行为与另一个版本不同,您可以在代码中放入条件(
If
或语句),或者使用继承和多态方法来表示差异。因为只要代码需要一个老用户,就可以使用所有新用户,所以我相信新用户就是老用户。