1
我是一名初学者程序员,正在处理电子邮件确认。一旦用户注册后,将它们发送到页面以输入确认码,该码将被发送到他们使用的电子邮件。如果提交正确,它会保存用户并将它们记录下来。使用Rails创建电子邮件身份验证
我已经研究过使用Devise,也许这是要走的路,但似乎我会花费尽可能多的时间学习别人的代码,当我可以学会做到这一点我。我的回购是Here。
我正在考虑编码(在我的用户控制器中)正在形成像这样...你怎么看?我完全离开了,会更好地搞清楚Devise/Authlogic还是我在正确的轨道上?我正在使用rails 3.1。任何帮助将非常感激。提前致谢。
def confirmation_code_to_register(string)
@confirmation_code = #random number
end
def create_start
@user = User.new(params[:user])
#send email with @confirmation_code via ActionMailer
redirect_to page_to_enter_confirmation_code
email_authenticate
end
def email_authenticate
if #confirmation code user enters == @confirmation_code
create_finish
else
#sorry, you entered the wrong confirmation code.
end
end
def create_finish
if @user.save
sign_in @user
flash[:success] = "Welcome to the Site"
redirect_to @user
else
@title = "Sign Up"
render 'new'
end
end
感谢您对标记的帮助。也许我应该将方法:confirmation_code_to_register(string)移动到用户模型,但不应该让其他人留在用户控制器中?另外,如果可能的话,我想远离巫术,设计等,因为我认为这是一个很好的学习机会......你怎么看? – Alekx
是的,只需对模型进行confirmation_code_to_register(string)即可。授权是一个很多事情都可能出错的领域,所以使用类似巫术或设计的东西通常是一个好主意。但是,如果您想自己做饭,请继续:)但是,如果您熟悉一种授权解决方案,那么也许对您来说更容易一些,因此您可以掌握在需要创建自己的情况下需要实施的内容解。 – Nerian
+1使用像巫术或设计测试的解决方案。如果你能避免它,安全绝对是你不想DIY的东西。作为奖励,这些项目是开源的,所以你可以看到他们做什么以及他们如何做。 – sosborn