2
在我的rails應用程序中,我使用的是舊數據庫。當在rails中保存數據時手動設置主鍵的值
class Expression < ActiveRecord::Base
set_table_name "EXPRESSION"
set_primary_key "EXP_ID"
belongs_to :sub, :foreign_key => "EXP_SUB_FK"
end
要保存在「表達」表中的條目,我使用在我的控制器方法如下代碼:
@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除外。
如果我在表達式模型中註釋掉set_primary_key「EXP_ID」,它可以工作,但我需要將EXP_ID定義爲主鍵。 在將條目保存到dbase時,是否有一種方法可以爲主鍵分配值?
如果有人能提供給我一些提示,我將不勝感激。
我說 'before_save:EXP_ID' 在我的模型,但它似乎仍然沒有工作 – tanya
顯示的'before_filter'方法的代碼您正在使用。 – Zabba
謝謝Zabba,我終於明白我的錯誤,我錯過了'自我'。在該方法中 – tanya