Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.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 如何使用ActiveRecord对此进行建模?_Ruby On Rails_Ruby_Activerecord - Fatal编程技术网

Ruby on rails 如何使用ActiveRecord对此进行建模?

Ruby on rails 如何使用ActiveRecord对此进行建模?,ruby-on-rails,ruby,activerecord,Ruby On Rails,Ruby,Activerecord,我有一个表Users,其中有一个名为'r\u status'的列,类型为string。它基本上是该用户的关系状态 我还有另一个表请求,它需要有一个首选属性数组,例如,['Single'、'Married'、'discovered']。稍后,我将需要根据首选属性数组中的内容查询用户 我想知道我做这个模型的最佳方式是什么?我知道我可以在“文本”类型的字段中存储一个串行数组,但这不允许我直接查询,而是首先要查询请求,然后反序列化数组,然后再次查询 有更好的办法吗 我曾考虑创建一个名为“Relation

我有一个表
Users
,其中有一个名为
'r\u status'
的列,类型为
string
。它基本上是该用户的关系状态

我还有另一个表请求,它需要有一个首选属性数组,例如,['Single'、'Married'、'discovered']。稍后,我将需要根据首选属性数组中的内容查询用户

我想知道我做这个模型的最佳方式是什么?我知道我可以在“文本”类型的字段中存储一个串行数组,但这不允许我直接查询,而是首先要查询请求,然后反序列化数组,然后再次查询

有更好的办法吗

我曾考虑创建一个名为“RelationshipStatus”的新表,但该表将只显示在列上,即字符串“status”。仅仅为了能够直接查询而创建一个只有1列的表,值得吗


谢谢

使用
序列化
几乎总是一个很快就会造成麻烦的方法;如果您正在考虑使用
序列化
,请三思。关联表几乎总是正确的选择。如果您将允许的值存储为
::Single::marred::discovered:“
,那么您可以使用
allowed进行搜索,如“%::::%”
,虽然不太好,但它可以工作如果您经常根据该信息进行查询,您还应该创建一个新表,这不是问题。我正在构建一个在线考试应用程序,我有一个表,只存储用户角色的名称,有1列和3行。一个新表不会使数据库变大,并有助于以后的工作。@KienThanh如何控制“角色”表?也就是说,你是否有固定的行,固定的行,并且像ENUM一样对它们进行引用?在我的应用程序中,一个用户有多个角色,我只需要设置多对多关联。你需要控制什么?