Ruby on rails 如何避免同一用户的多个答案?

Ruby on rails 如何避免同一用户的多个答案?,ruby-on-rails,Ruby On Rails,我正在开发一个基于问题和答案的应用程序,我希望防止注册用户发布同一问题的多个答案 我该怎么做?将此代码(即控制器、模型)放在哪里最合适?您需要进行两次检查,一次是在问题加载时检查该用户是否有答案。如果是这样,请不要向他出示答题表 第二,当提交问题时,检查该用户是否已经有答案,如果已经有,则不要提交。获取用户id,获取问题id。 检查用户id是否有与问题id对应的答案。 如果它存在,就说不!如果不存在,则继续发布答案…您希望在模型中验证唯一性以执行规则- 我也同意Ólafur的观点,如果用户已经添

我正在开发一个基于问题和答案的应用程序,我希望防止注册用户发布同一问题的多个答案


我该怎么做?将此代码(即控制器、模型)放在哪里最合适?

您需要进行两次检查,一次是在问题加载时检查该用户是否有答案。如果是这样,请不要向他出示答题表


第二,当提交问题时,检查该用户是否已经有答案,如果已经有,则不要提交。

获取用户id,获取问题id。 检查用户id是否有与问题id对应的答案。
如果它存在,就说不!如果不存在,则继续发布答案…

您希望在模型中验证唯一性以执行规则-


我也同意Ólafur的观点,如果用户已经添加了答案,你不应该给他们添加答案的按钮。

你有一个问题id和一个用户id,那么问题出在哪里呢?

我最后写了以下代码:


# Reply model
validates_uniqueness_of :user_id, :scope => :question_id

# Helper method
def user_has_replied(user, question)
  Reply.find( :first, :conditions => {:user_id => user.id, :question_id => question.id} )
end

提供更多细节。