gpt4 book ai didi

ruby-on-rails - 在rails中保存数据时手动设置主键的值

转载 作者:行者123 更新时间:2023-12-04 06:09:18 25 4
gpt4 key购买 nike

在我的 rails 应用程序中,我使用的是旧数据库。

class Expression < ActiveRecord::Base
set_table_name "EXPRESSION"
set_primary_key "EXP_ID"

belongs_to :sub, :foreign_key => "EXP_SUB_FK"

end

为了在“EXPRESSION”表中保存一个条目,我在我的 Controller 方法中使用了以下代码:
@expression = Expression.create(
:EXP_ID => 7,
:EXP_SUB_FK => 99991886,
:EXP_STRENGTH => 'strong',
:EXP_ADDITIONAL_STRENGTH => 'intense',
:EXP_COMPONENT_ID => 43444
)

每次保存条目时我都必须手动设置 EXP_ID(我将从另一个表中获取 id),但是上面的代码没有保存 EXP_ID。除 EXP_ID 之外的所有其他值都将被保存。

如果我在 Expression 模型中注释掉 'set_primary_key "EXP_ID"',它可以工作,但我需要将 EXP_ID 定义为主键。
将条目保存到 dbase 时,有没有办法为主键分配值?

如果有人能给我一些提示,我将不胜感激。

最佳答案

设置 EXP_IDbefore_save Expression 中定义的过滤器模型。

更新:

添加示例:

before_save :set_exp_id
def set_exp_id
self.exp_id = 5555555
end

关于ruby-on-rails - 在rails中保存数据时手动设置主键的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7968251/

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