Advanced Plugin Development Question

I have the following code for a plugin that I am developing:

module ClassMethods
def my_method(child_table)

      child = child_table.to_s;
      c = child.pluralize

      has_and_belongs_to_many c.to_sym,
                              :class_name => self.name,
                              :join_table => c.to_s + '_' +

self.name.pluralize,
:association_foreign_key => child +
“_id”,
:foreign_key => self.name + “_id”,
:after_add
=> :create_bidirectional_link,
:after_remove
=> :remove_bidirectional_link

      class_eval do

        define_method("create_bidirectional_link(child)") do
          child.c << self unless child.c.include?(self)
        end

        define_method("remove_bidirectional_link(child)") do
          child.c.delete(self) rescue nil
        end
      end

    end

When I run the code I get the following error message when I use
my_method in the Person model class:

NoMethodError: undefined method `create_bidirectional_link’ for
#Person:0x31dd71c

How do I inject the create and remove methods to the ActiveRecord
class? TIA.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs