Exended modules and reject_if in nested_attributes

4 views
Skip to first unread message

Hans

unread,
Feb 27, 2013, 7:42:34 AM2/27/13
to rubyonra...@googlegroups.com
I have some common class methods in a module  'active_record_additions' that I load into a class by Activity by using extend ActiveRecordAdditions
The Activity class uses nested_attributes_for with a reject_if method saved in the module  'active_record_additions'
The problem is that the class methods in 'active_record_additions' works when I use them as ordinary class methods, but not as a a method in reject_if.
I got the message NameError (undefined method `exists_nested_targeting_group?' for class `Activity'):

Maybe that method cannot be a class method ?
Or can accept_nested use methods in an extend module ?
Or anyone thats can give a hint abot whay it does not work ?

Some code snippets
The class definition
# encoding: utf-8
require 'active_record_additions'
######################################  
class Activity < ActiveRecord::Base
  include ActiveModel::Validations
  extend ActiveRecordAdditions
The accept nested call
accepts_nested_attributes_for :targeting_group,  :reject_if => :exists_nested_targeting_group?, :allow_destroy => true
The start of the exists_nested_targeting_group? module
   def exists_nested_targeting_group?(attributes={})
     exists=false


Reply all
Reply to author
Forward
0 new messages