使用 Devise Ruby On Rails 为新用户创建默认 Collection 记录

Create a default Collection record for new user with Devise Ruby On Rails

希望你一切都好

在我的应用程序中,我有 Posts 和 Collections

_ Collection 1

__ Post 1

__ Post 2

__ Post 3

我需要为新用户创建默认 collection。所以我需要 user_id,但在用户完成并注册之前我没有,

我应该检查登录计数并在用户首次登录时创建 collection 吗?或者,还有更好的方法? 谢谢

   def after_sign_in_path_for(resource)
        if resource.sign_in_count == 1
           Collection.create(title: 'default collection', user_id: current_user.id)
        end
    end

好的。它现在正在使用 after_action :)

class Users::RegistrationsController < Devise::RegistrationsController
  after_action :create_first_coll, only: [:create]

  def create_first_coll
    Collection.create(title: "First", user_id: @user.id)
  end

路线

  devise_for :users, controllers: {
    confirmations: 'users/confirmations',
    passwords: 'users/passwords',
    registrations: 'users/registrations',
    sessions: 'users/sessions'
  }, layout: 'devise'