1
我想拒絕如果記錄是重複在這裏是代碼。accepted_nested_attributes_for:如何拒絕一個記錄,如果它的重複
accepts_nested_attributes_for :member_im_messenger_names, allow_destroy: true , reject_if: lambda {|attributes| puts attributes.inspect
attributes['im_screen_name'].blank? or MemberImMessengerName.where('member_id=? AND im_screen_name=? AND im_messenger_name_id=?',self.id,attributes['im_screen_name'],attributes['im_messenger_name_id']).count>0 }
我無法在此代碼塊中獲取當前模型ID。我試過self.id和屬性[:id],但都是徒勞的。
請建議我如何得到身份證。因爲self.id返回null。
如果'屬性[:編號]'丟失,就意味着你的形式不提交ID。你可以在提交表單時顯示你的'params'的樣子嗎?或者更好,表單視圖本身? – piersadrian
基本上self.id不是fields_for屬性,它聲明瞭accepted_nested_attributes_for的模型屬性。 – Baran
在'reject_if' lambda中,'self'是模型類而不是模型對象。屬性方法(包括'id')僅在模型對象上可用。我們需要查看您的參數和表單以瞭解更多信息。 – piersadrian