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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.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 4:用户兴趣关系的最佳模式_Ruby On Rails_Database_Model_Schema_Relationship - Fatal编程技术网

Ruby on rails Rails 4:用户兴趣关系的最佳模式

Ruby on rails Rails 4:用户兴趣关系的最佳模式,ruby-on-rails,database,model,schema,relationship,Ruby On Rails,Database,Model,Schema,Relationship,我是rails的新手,我试图最大限度地利用模型之间可以指定的关系。这不是一个真正的编码问题,而是一个设计问题。我正在寻找关于在Rails应用程序中建立模型关系的最佳方法的特定问题的一些指导 这是一个简单(且常见)的问题: 我有一个模范用户 我还对模特感兴趣 用户会有很多兴趣,兴趣会有很多用户, 因此,我创建了一个模型UserInterest来捕获这种关系,该模型仅将user\u id和interest\u id作为表中的列 我的第一个问题是:这是最好的方法吗。或者,我可以在用户表中有一列inte

我是rails的新手,我试图最大限度地利用模型之间可以指定的关系。这不是一个真正的编码问题,而是一个设计问题。我正在寻找关于在Rails应用程序中建立模型关系的最佳方法的特定问题的一些指导

这是一个简单(且常见)的问题:

我有一个模范用户 我还对模特感兴趣 用户会有很多兴趣,兴趣会有很多用户, 因此,我创建了一个模型UserInterest来捕获这种关系,该模型仅将user\u id和interest\u id作为表中的列

我的第一个问题是:这是最好的方法吗。或者,我可以在用户表中有一列interests,并在其中放置一个interests\u id数组。然而,在某种程度上,我希望基于兴趣搜索用户,因此使用联接表似乎是一种更好的方法

第二个问题涉及创建和更新用户兴趣。如果使用上述设置,则每次用户更新其在users_interests表中的兴趣时,必须删除该用户的所有当前条目并创建一个新的集合-这似乎很麻烦,而且肯定是错误的

对于给定的问题,您的解决方案是最好的。我只是不想使用
UserInterest
作为模型名。但这只是一个品味问题。

对于给定的问题,你的答案是最好的。我只是不想使用
UserInterest
作为模型名。但这只是一个品味问题。

对于给定的问题,你的答案是最好的。我只是不想使用
UserInterest
作为模型名。但这只是一个品味问题。

对于给定的问题,你的答案是最好的。我只是不想使用
UserInterest
作为模型名。但这只是一个品味问题。

类用户class User < ActiveRecord::Base
 has_many :user_intrests
 has_many :intrests, through: :user_intrests
end

class UserIntrest < ActiveRecord::Base
 belongs_to :user
 belongs_to :intrest
end

class Intrest < ActiveRecord::Base
 has_many :user_intrests
 has_many :users, through: :user_intrests
end
有很多:用户兴趣 拥有多个:intres,通过::user\u intres 结束 类UserIntrest 您还可以从
类用户
您还可以从
类用户
您还可以从
类用户
你也可以从中学习