使用 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'
希望你一切都好
在我的应用程序中,我有 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'