Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.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 关键词/技能功能与LinkedIn相似_Ruby On Rails_Ruby_Database Design_Autocomplete_Database Schema - Fatal编程技术网

Ruby on rails 关键词/技能功能与LinkedIn相似

Ruby on rails 关键词/技能功能与LinkedIn相似,ruby-on-rails,ruby,database-design,autocomplete,database-schema,Ruby On Rails,Ruby,Database Design,Autocomplete,Database Schema,我的web应用程序将让用户填写他们个人资料的应用程序。用户可以通过多年的经验输入他们的技能。我的数据库中可能有一个技能表。一个用户有很多技能,一个技能有很多用户 当一项技能有很多用户时,我的表是否会变得非常庞大,因为尽管可能已经在数据库中创建了一项技能,但它必须创建一个新行来匹配用户id?如果是这样的话,有没有更有效的方法来实现这一点(我认为这种格式对服务器来说代价高昂)?一般来说,用户可以拥有一系列0技能,每个技能最多100技能 这些技能需要与帖子交叉引用,以便只有满足x技能的用户才能看到y帖

我的web应用程序将让用户填写他们个人资料的应用程序。用户可以通过多年的经验输入他们的技能。我的数据库中可能有一个技能表。一个用户有很多技能,一个技能有很多用户

当一项技能有很多用户时,我的表是否会变得非常庞大,因为尽管可能已经在数据库中创建了一项技能,但它必须创建一个新行来匹配用户id?如果是这样的话,有没有更有效的方法来实现这一点(我认为这种格式对服务器来说代价高昂)?一般来说,用户可以拥有一系列0技能,每个技能最多100技能

这些技能需要与帖子交叉引用,以便只有满足x技能的用户才能看到y帖子。例如,发布要求用户具有x、y、z技能和相关的经验长度。这将是一套控制结构。假设一个用户把他的技能放在“rails框架”上,另一个用户把他的技能放在“rails开发”上。这些都是相同的技能,但是对于发布帖子的人来说,为了确保他们获得了所有合格的用户,他们必须输入每种技能的格式。有没有办法让它更有效、更高效


它可能有LinkedIn、StackOverflow、Quora风格的技能格式,用户开始键入技能,然后自动完成/创建建议,然后用户只需单击相应的技能。

关于问题的第一部分,您要查找的是一个
has\u和\u属于\u many
has\u many:through
关联:

基本上,您有一个用户表、一个技能表和第三个用于连接具有特定技能的特定用户的表

你问题的第二部分很复杂。通过允许用户自由支配将技能输入您的系统,您将失去一些控制。这也是StackOverflow必须解决的问题。这里有版主和社区编辑,他们在SO中帮助获得学分


根据你正在构建的系统的类型,你要么需要付费的版主来严格控制一切工作的方式,要么向社区开放,以便他们能够以他们想要的方式工作。这两种方法各有优缺点,但如果不完全控制技能列表,你就无法避免重复或非常相似的技能问题,这些技能应该是相同的。

对于StackOverflow来说,这个问题似乎很广泛-请每个人只问一个问题。。。嗯,问题。