Ruby on rails 在Rails4中缩放大数据

Ruby on rails 在Rails4中缩放大数据,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,我正在制作一个问答网站。我现在有三种型号: Question Answer User 问题和答案都可以投票,所以我需要一种存储对模型投票的人的方法,以防止同一用户对一个模型进行多次投票 创建投票模型是个好主意吗?其中,问题id或答案id在每个字段中均为空。我担心这会产生大量垃圾,并使应用程序速度减慢 我的另一个想法是将用户id存储在答案和问题中的散列中。 如果用户已经存在于散列中,则会阻止投票。或者将答案和问题ID存储在用户中 Rails4最快的方式是什么,但将大多数用户交互存储在模型中。什么

我正在制作一个问答网站。我现在有三种型号:

Question
Answer
User
问题和答案都可以投票,所以我需要一种存储对模型投票的人的方法,以防止同一用户对一个模型进行多次投票

创建投票模型是个好主意吗?其中,问题id或答案id在每个字段中均为空。我担心这会产生大量垃圾,并使应用程序速度减慢

我的另一个想法是将用户id存储在答案和问题中的散列中。 如果用户已经存在于散列中,则会阻止投票。或者将答案和问题ID存储在用户中

Rails4最快的方式是什么,但将大多数用户交互存储在模型中。什么是吻、干和快?

如果你有多个模型,投票可以参考,你应该使用一个模型

class Vote < ActiveRecord::Base
  belongs_to :voteable, polymorphic: true
end

class Question < ActiveRecord::Base
  has_many :votes, as: :voteable
end

class Answer < ActiveRecord::Base
  has_many :votes, as: :voteable
end
add_index :votes, [:voteable_name, :voteable_id]