gpt4 book ai didi

mysql - 通过 has_one/belongs_to 将模型 id 保存为外键

转载 作者:行者123 更新时间:2023-11-29 00:19:14 25 4
gpt4 key购买 nike

我将简要解释一下我的情况:我有一个名为“tax”的模型,它属于一个“用户”,并且一个“用户”拥有一个。

在我的用户表中,我有一个名为“tax_id”的列,我想在用户创建税模型时存储税模型的 ID。

目前,在我的税收模型中,创建函数看起来像这样:

class Tax < ActiveRecord:Base
belongs_to :user


tax = Tax.new(income: income, taxes: taxes, rrsp: rrsp)
tax.save

然后在 taxes_controller 文件中,创建函数如下所示:

def create
@tax = Tax.new(secure_params)
@tax.user = User.find(current_user.id)
if @tax.save
redirect_to show_tax_path(current_user.tax)
else
render :new
end
end

(secure_params) 是在私有(private)定义中设置的字段输入的强参数。

现在,有人提到如果我使用 build 我可能会好运,但不幸的是我根本无法让它工作,这与我如何使用 current_user 有关(设计)。目前,我的设置工作正常,除了像我说的那样在用户模型列“tax_id”中保存税模型 ID。

我想知道我是否可能需要向 belongs_to 或 has_one 语句添加一个外部 ID 键,尽管我的印象是只要该列被命名为“链接”就应该自动生成 “[型号]_id”

最佳答案

尝试使用

user.build_tax

我认为这可能对您有所帮助。

has_many 关联的构建语法:

user.taxes.build

has_one 关联的构建语法:

user.build_tax  # this will work

user.tax.build # this will throw error

关于mysql - 通过 has_one/belongs_to 将模型 id 保存为外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21747333/

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