我有一个用户模型具有列 profile_id 和一个具有主键列 id 的 Profile 模型,在 profile 的 create 方法完成运行后,我希望 profile_id 列从 profile 模型中获取 id 的值。我知道我可以在 after_filter 方法中做到这一点,但是我应该在方法中写什么呢?
问问题
492 次
1 回答
1
如果配置文件 belongs_to User 和 User has_one profile de 外键应该在 Profile 模型中
所以,配置文件模型有 user_id 字段
在 profile 的 create 方法中,你可以做这样的事情
def create
@profile = Profile.new(params[:profile])
@profile.user_id = current_user.id
respond_to do |format|
if @profile.save
format.html { redirect_to @profile , notice: 'profile was successfully created.' }
else
format.html { render action: "new" }
end
end
end
或者不是这个:
@profile.user_id = current_user.id
你可以
@profile.user_id = params[:user_id]
如果您通过参数发送 id
然后你可以通过这样的关系访问它:
@profile.user.name @profile.user.email 或 current_user.profile.name
于 2013-06-07T19:13:20.427 回答