我正在使用Devise在Ruby on Rails的应用程序中创建用户。
我有一个带有计划(爱好,高级等...)的用户模型
在创建新用户时,我想向该新用户添加基本计划(出于业务规则的需要,我不能将其保留为空白)。
问题是,在创建新用户时如何添加该计划?
这是我的控制者:
for dir in */ .*/ ;
do
for entry in $dir
do
path="$entry"
empty=""
file="${$dir/$empty}"
echo -e "$dir;$file;" >> file.csv
done
done
我应该在哪种方法中添加类似内容?
class RegistrationsController < Devise::RegistrationsController
clear_respond_to
respond_to :json
def save_user_type
session[:user_type] = params[:user_type]
end
private
def sign_up_params
params.require(:user).permit(:first_name, :last_name, :email, :password, :password_confirmation, :type, :provider )
end
end
答案 0 :(得分:1)
class User < ActiveRecord::Base
has_one :plan
after_create :build_default_plan
private
def build_default_plan
plan.create(#paln_params)
#.. so on
end
end
答案 1 :(得分:0)
将此行添加到用户模型
after_create do |user|
user.plan = Plan.first
user.save
end