2011-03-01 75 views
2

我是Rails的新手。我正在尝试使用Devise创建用户管理+登录系统。除了两件事情,一切都很好:Rails 3 + devise - 电子邮件+用户创建

1)有什么办法在注册时删除“email”字段和/或验证?当从模型中删除:validatable时,密码也不会被验证。

2)什么是在系统中进行用户管理的最佳方式?像重写设计注册?

我在谷歌寻找答案和提供的文件,但没有找到答案。

谢谢。

回答

1

1)您应该删除:validatable并在用户模型中编写自己的验证。

2)您可以在色器件手动创建用户:

@user = User.new(:field1 => "something", :field2 => "something else", :password => "secret", :password_confirmation => "secret") 
@user.save 

如果创建的对象传递将创建就像用色器件注册的动作验证。

+0

1)谢谢 - 有一些很好的教程,针对这种情况? – Orbitum 2011-03-01 19:09:05

+1

2)不,不是角色管理,而是用户管理。在应用中创建用户(手动),而不是使用设计“注册”。也许这有一些好的啧啧?据我所知,我需要在插入数据库之前散列密码。 – Orbitum 2011-03-01 19:11:10

+0

根据你的评论编辑答案。你不需要自己散列密码,设计会为你做到这一点。 – 2011-03-01 19:35:36

1

您可以在用户模式

+0

它不起作用。我在config/initializers/devise.rb中更改了“authentication_keys”,并添加了上述方法。但仍然是说,电子邮件是强制性的。有任何想法吗? – Prem 2012-10-11 14:37:52

1

1)不知从哪个版本开始,但至少在那个时候知道什么时候你在哪里问你的问题删除电子邮件验证与

def email_required? 
    false 
    end 

,在devise github page已经有一个教程如何做到这一点。 他们概述了两种方式,一种是在这里描述的,如何管理。你可以保留他们的验证。

2)至于CRUD用户,他们也有一个tutorial这是一个更近一点。

希望这仍然可以帮助别人;-)

相关问题