相关疑难解决方法(0)

用户在设计中进行新注册时创建另一个模型

我正在使用设计来进行新的用户注册.在创建新用户之后,我还想为该用户创建配置文件.

我的create方法registrations_controller.rb如下:

class RegistrationsController < Devise::RegistrationsController
    def create
      super
      session[:omniauth] = nil unless @user.new_record?

      # Every new user creates a default Profile automatically
      @profile = Profile.create
      @user.default_card = @profile.id
      @user.save

    end
Run Code Online (Sandbox Code Playgroud)

但是,它没有创建新的配置文件,也没有填写@ user.default_card的字段.如何在每个新用户注册时自动创建新的配置文件?

ruby-on-rails devise ruby-on-rails-3

4
推荐指数
1
解决办法
2891
查看次数

Ruby on Rails - 在创建用户时创建配置文件

所以基本上我已经编写了自己的身份验证而不是使用gem,所以我可以访问控制器.我的用户创建工作正常,但是当我创建用户时,我还想在我的个人资料模型中为他们创建个人资料记录.我得到它主要工作我似乎无法将ID从新用户传递到新的profile.user_id.这是我在用户模型中创建用户的代码.

  def create
    @user = User.new(user_params)
    if @user.save
        @profile = Profile.create
        profile.user_id = @user.id
        redirect_to root_url, :notice => "You have succesfully signed up!"
    else
        render "new"
    end
Run Code Online (Sandbox Code Playgroud)

配置文件创建它只是不添加新创建的用户的user_id.如果有人可以提供帮助,将不胜感激.

profile controller model ruby-on-rails

2
推荐指数
2
解决办法
6251
查看次数