创建钩子后设计
是否有一个我可以实现的挂钩或回调,以便在创建用户后立即调用一些自定义代码?
我在用户模型中尝试了 after_confirmation 挂钩,但这不起作用。
Is there a hook or callback that I can implement so that right after the user is created, I would like to invoke some custom code ?
I tried after_confirmation hook in the user model but that didn't work.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用 Rails 提供的标准
after_create
回调。Use the standard
after_create
callback provided by Rails.如果您正在处理您创建的模型的内部状态,那么使用回调是完全合法的。
创建
用户
后,我需要创建默认的团队
。最好避免使用回调来处理其他对象。摘自这篇精彩的博客文章。
在这种情况下,最好在控制器上执行操作,您可以在其中直接添加功能,或者委托给服务以获得更干净的解决方案:
Using a callback is perfectly legit if you're dealing with the internal state of the model you created.
After creating a
User
, I needed to create default aTeam
. It's preferable to avoid using callbacks to deal with other objects.From this awesome blog post.
In this case it's better to act on the controller, where you can add your functionality directly, or delegate to a service for an even cleaner solution:
我正在使用带有
confirmable
的 Rails 4 和 Devise 3.5,由于各种意外,我不得不这样做。I'm using Rails 4 with Devise 3.5 with
confirmable
and had to do this due to various surprises.