所以,我是这方面的新手,并试图通过直接参与来学习。
我在我的 rails 应用程序中有一个有点奇怪的登录,它的工作原理是这样的:
- 管理员生成代码并指定上限
- 用户通过输入此代码和一些保存的详细信息登录
楷模:
class Code < ActiveRecord::Base
has_many :users, dependent: :destroy
attr_accessible :code, :maxusers
end
class User < ActiveRecord::Base
belongs_to :code
attr_accessible :name, :email, :code_id
end
用户控制器:
class UsersController < ApplicationController
def create
@user = User.new(params[:user])
if @user.save
redirect_to "/welcome"
end
end
end
因此,例如代码是 123456,限制为 5
前 5 位用户可以使用他们的姓名、电子邮件和 123456 进行注册
所以问题是:如何在保存之前检查代码是否有效?它必须存在并且已分配的用户少于 5 个。
看起来很简单,但我不知道语法,我在控制器中使用 before_filter 或在模型中保存之前玩,但我被卡住了。