gpt4 book ai didi

ruby-on-rails - Restful 身份验证——将用户 ID 与配置文件相关联

转载 作者:搜寻专家 更新时间:2023-10-30 23:24:10 28 4
gpt4 key购买 nike

我是 Ruby on Rails 的新手......我一直在尝试开发社交网络类型的应用......我刚刚成功地将 Restful Authentication 添加到我的应用中......现在我想创建一个模型/controller,每个用户一旦登录就可以创建/编辑自己的配置文件。

所以我创建了模型和 Controller ...Profile Controller 中的代码如下所示:

def new
@profile = Profile.new(params[:user_id])
if request.post?
@profile.save
flash[:notice] = 'Profile Saved'
redirect_to :action => 'index'
end
end

我正在尝试将 session 中任何用户的 user_id [of restful auth.] 连接到我在配置文件模型中创建的 user_id 列。我已经将“has_one :profile”添加到用户模型中,并将“belongs_to :user”添加到配置文件模型中……但它没有添加配置文件。我有点卡住了,因为我对此比较陌生...我应该向 session 模型或 Controller 添加一些东西吗?

任何帮助或想法或研究地点将不胜感激...

将新模型连接到现有模型非常重要,我想解决这个问题。

最佳答案

默认情况下,new 操作是 HTTP GET,所以您的 request.post? block 被绕过。请求.post?无论如何都是无关紧要的(出于基本目的),所以我会完全摆脱它并将其余的 save 代码移动到您的 create 操作中。

def new
@profile = Profile.new
end

def create

@user = User.find(params[:user_id])
@profile = Profile.create(@user, params[:profile]) # or whatever params you use in your form
# you can also do @profile = @user.profile.create(params[:profile]) here
# sans @user find: @profile = current_user.profile.create(params[:profile])

if @profile.save
flash[:notice] = 'Profile Saved'
redirect_to :action => 'index'
else
flash[:warning] = 'Could not save profile'
redirect_to :back # or wherever
end

end

关于ruby-on-rails - Restful 身份验证——将用户 ID 与配置文件相关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2112022/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com