使用设计向用户模型添加自定义回调

时间:2017-01-25 02:14:36

标签: ruby-on-rails devise

我正在尝试将此回调添加到我使用Devise生成的User模型。

  before_save :check_invite_code

  def check_invite_code
    if self.invite_code == 'first20'
      User.save
    else
      {icon: 'error', message: "Sorry that's not a valid invite code"}
    end
  end

我遇到的问题是将带有else块的返回哈希传递回我的视图。通常,我可以在控制器中使用闪存中的图标和消息。我不知道该怎么做。我没有UsersController,因为设计负责路径为devise/controller#action的路由。那么我是否在控制器内部创建一个devise目录,然后创建相应的控制器,如会话等,并覆盖设计方法?寻找具有设计经验的人的一些指导。

1 个答案:

答案 0 :(得分:2)

如果您想自定义UserController,可以通过

轻松完成
rails generate devise:controllers [scope]

例如

rails generate devise:controllers users

查看文档here