允许用户在Devise中创建其他用户?

时间:2011-12-16 15:49:52

标签: ruby-on-rails devise

在这里排序Rails初学者..我的应用程序使用Devise进行身份验证。我需要做的是允许用户在登录后创建与他属于同一组织的其他用户。

问题是我不能只使用默认的Devise新注册表单,因为当我登录时它不允许我访问它(我想我可以通过生成我自己的用户控制器来覆盖它?) 。

另外,用户表有一个organization_id(在注册时自动创建),我需要表单来传递organization_id的current_user.organization_id,默认表单不允许我这样做。

有什么建议吗?

1 个答案:

答案 0 :(得分:4)

您必须创建一个自定义表单,其中包含所有必需的用户字段,并将表单值传递给您的某个控制器,这些控制器将使用以下类似的参数:

def create
    User.create!({:email => params[:email], :roles => ["role/organization here"], :password => params[:password], :password_confirmation => params[:password_confirmation] })
end

除此之外,您应该使用before_filter之一保护此操作,这将检查用户当前是否已登录并能够创建新用户?

希望有所帮助。