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.

Reply via email to