Rails 4 user_id为零

时间:2014-08-05 09:03:14

标签: ruby-on-rails-4

class User < ActiveRecord::Base
  has_one :recovery
end

class Recovery < ActiveRecord::Base
  attr_accessor :email
end

class RecoveriesController < ApplicationController
  def create
      @user=User.find(19)
      @recovery=@user.create_recovery!
       if @recovery.save
        redirect_to :root
      end
  end
end

在数据库

中创建@recovery.user_idnil

但如果我删除重定向,就像这里

一样
class RecoveriesController < ApplicationController
  def create
      @user=User.find(19)
      @recovery=@user.create_recovery!
  end
end

user_id取其值。

什么错了? Rails 4

1 个答案:

答案 0 :(得分:0)

这应该是什么:

在你的RecoveriesController中:

class RecoveriesController < ApplicationController
  def create
      @user=User.find(19)
      @recovery = Recovery.new(user:@user) 
       if @recovery.save
        redirect_to :root
      end
  end
end

并且,我确信您已拥有它,但未在您的恢复模型中列出:

belongs_to :user