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_id
后nil
但如果我删除重定向,就像这里
一样class RecoveriesController < ApplicationController
def create
@user=User.find(19)
@recovery=@user.create_recovery!
end
end
user_id取其值。
什么错了? Rails 4
答案 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