On 29 Oct 2015 06:58, "Eduardo Campestrini" <[email protected]> wrote: > > Hi! > > My reject_if filter is not working: > > 2.2.3 :002 > params = { lead: {name: 'Eduardo', lastName: 'Campestrini', job_attributes: { company: 'RD' } } } > => {:lead=>{:name=>"Eduardo", :lastName=>"Campestrini", :job_attributes=>{:company=>"RD"}}} > 2.2.3 :003 > lead = Lead.create(params[:lead]) > (0.1ms) begin transaction > SQL (1.7ms) INSERT INTO "leads" ("name", "lastName", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["name", "Eduardo"], ["lastName", "Campestrini"], ["created_at", "2015-10-29 03:35:49.845738"], ["updated_at", "2015-10-29 03:35:49.845738"]] > (1.2ms) commit transaction > => #<Lead id: 11, name: "Eduardo", lastName: "Campestrini", created_at: "2015-10-29 03:35:49", updated_at: "2015-10-29 03:35:49"> > 2.2.3 :004 > > > > class Lead < ActiveRecord::Base > has_one :contact, dependent: :destroy > has_one :job, dependent: :destroy > > accepts_nested_attributes_for :contact, reject_if: :reject_contact > accepts_nested_attributes_for :job, reject_if: :reject_job > > validates :name, presence: true, length: { maximum: 50 } > validates :lastName, presence: true, length: { maximum: 100 } > > private > def reject_contact(attributes) > attributes['phone'].blank? > attributes['website'].blank? > end > > def reject_job(attributes) > attributes['company'].blank? > attributes['title'].blank? > end > end > > class Job < ActiveRecord::Base > belongs_to :lead > validates :company, presence: true, length: { maximum: 20 } > validates :title, presence: true, length: { maximum: 50 } > end > > > class Contact < ActiveRecord::Base > belongs_to :lead > validates :phone, presence: true, length: { maximum: 20 } > validates :website, presence: true, length: { maximum: 50 } > end
Have you debugged into the code to see what is going wrong? In particular is your filter method being called and if so what is the result? Colin -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/CAL%3D0gLvZMVCfN0anQVc6Jrr_5FSL%2BumxO9SuJ76RZwhj8V%3Ds5w%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.

