我試圖對一個字段進行條件驗證。這樣它只驗證其他字段是否是特定值。這裏的問題是,這個其他領域是一對多的關係,我似乎無法得到它的工作。 下面是相關代碼:Rails通過一對多的關係進行有條件的驗證
class CreateInvolvedPartyTypes < ActiveRecord::Migration
def change
create_table :involved_party_types do |t|
t.string :code
t.string :name
t.timestamps null: false
end
end
end
class CreateInvolvedParties < ActiveRecord::Migration
def change
create_table :involved_parties do |t|
t.string :first_name
t.string :last_name
t.references :involved_party_type
t.timestamps null: false
end
end
end
class InvolvedParty < ActiveRecord::Base
def ipt_cd?
self.involved_party_type.code == 'I'
end
validates :first_name, presence: { message: "Please insert first name" }
validates :last_name, presence: { message: "Please insert last name" }, :if => :ipt_cd?
validates :involved_party_type, presence: { message: "Please select involved party type" }
belongs_to :involved_party_type
end
上面的代碼失敗:
undefined method `code' for nil:NilClass
感謝您的幫助
你可以在你創建/驗證有問題的對象的地方發佈代碼嗎? – panmari