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
提供更多细节。