Ruby on rails - 如何限制用户每次竞赛1次参赛?

时间:2014-03-20 10:47:33

标签: ruby-on-rails ruby-on-rails-3


我正在使用模型用户(设计),比赛&的条目

参赛作品属于比赛&一个用户。 用户可以创建许多条目(因此输入许多比赛)每个比赛只有一个条目。(带有验证)以及如果已经输入竞争的话显示消息的方法(例如,"你已进入本次比赛")。

我是rails的新手,在我的生活中无法弄清楚这种逻辑在代码中的样子。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:4)

您可以在条目模型中验证对的唯一性(user_id,competition_id)

class Entry < ActiveRecord::Base
  validates :user_id, :uniqueness => {:scope => :competition_id}, 
    :message => 'You have already entered this competition'
end

您可能必须实现一些逻辑才能显示错误消息。