Ruby on rails 在rails中保存数据时手动设置主键的值
在我的rails应用程序中,我使用的是一个遗留数据库Ruby on rails 在rails中保存数据时手动设置主键的值,ruby-on-rails,Ruby On Rails,在我的rails应用程序中,我使用的是一个遗留数据库 class Expression < ActiveRecord::Base set_table_name "EXPRESSION" set_primary_key "EXP_ID" belongs_to :sub, :foreign_key => "EXP_SUB_FK" end 每次保存条目时,我都必须手动设置EXP\u ID(我将从另一个表中获取ID),但是上面的代码不保存EXP\u ID。除了EXP\u ID之外,所有
class Expression < ActiveRecord::Base
set_table_name "EXPRESSION"
set_primary_key "EXP_ID"
belongs_to :sub, :foreign_key => "EXP_SUB_FK"
end
每次保存条目时,我都必须手动设置EXP\u ID(我将从另一个表中获取ID),但是上面的代码不保存EXP\u ID。除了EXP\u ID之外,所有其他值都会保存
如果我在表达式模型中注释掉“set_primary_key“EXP_ID”,它可以工作,但我需要将EXP_ID定义为主键。
在将条目保存到数据库时,是否有方法为主键分配值
如果有人能给我一些提示,我将不胜感激。在
表达式
模型中定义的过滤器保存之前,在中设置EXP\u ID
更新:
新增样本:
before_save :set_exp_id
def set_exp_id
self.exp_id = 5555555
end
我在模型中添加了'before_save:EXP_ID',但它似乎仍然不起作用。谢谢Zabba,我终于发现了我的错误,我错过了方法中的'self'
before_save :set_exp_id
def set_exp_id
self.exp_id = 5555555
end