gpt4 book ai didi

ruby - 使用设计 current_user

转载 作者:太空宇宙 更新时间:2023-11-03 18:17:11 27 4
gpt4 key购买 nike

例如我有一个用户和一个地址,关系如下:

class User < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable

has_one :address
end


class Address< ActiveRecord::Base
belongs_to :user
end

现在当我创建一个地址对象时,我希望能够传递 current_user id 并将其保存到地址模型中,所以在我的 Controller 中我有

before_filter :authenticate_user!

def new
@address= current_user.address.new
end

def create
@address= current_user.address.new(address_params)
if @address.save
redirect_to root_path, notice: 'Address Successfully Created'
else
render action: 'new'
end
end

private

def address_params
params.require(:address).permit(:id, :user_id, :add_1, :add_2, :add_3)
end

我目前无法访问新操作,因为我收到的错误是

undefined method `new' for nil:NilClass

我错过了什么?

最佳答案

我认为你应该这样做:

def new
@address = current_user.build_address
end

create 操作中也是如此

更多信息 here

关于ruby - 使用设计 current_user,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24287499/

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