So, I'm at a loss trying to figure out where I screwed something up here. I've got (what I think should be) a fairly straight-forward record setup, but when I try to create/save a BookEdition record, I get the following error: NameError: undefined local variable or method `autosave_associated_records_for_book_editions_users'
I'm actually getting two slightly different errors, but with almost the exact same output: ---------------------------------------------------------------------- 1) Error: test_create_valid_book_edition(BookEditionTest): NameError: undefined local variable or method `autosave_associated_records_for_book_editions_users' for #<ActiveSupport::Callbacks::Callback:0xb6e86b40> /test/unit/book_edition_test.rb:11:in `test_create_valid_book_edition' 2) Error: test_relates_to_book_editions_and_amazon_images(BookEditionsImageTest): NameError: undefined local variable or method `validate_associated_records_for_book' for #<ActiveSupport::Callbacks::Callback:0xb6e88b70> vendor/gems/notahat-machinist-1.0.3/lib/machinist/active_record.rb:54:in `make' /test/unit/book_editions_image_test.rb:5:in `test_relates_to_book_editions_and_amazon_images' ---------------------------------------------------------------------- The full project (with the failures) is up on GitHub ( http://github.com/jhelwig/kamitsukai/tree/wip ), in case I miss something that would help in tracking this down. Here are the two unit tests where I'm seeing this kind of error crop up: test/units/book_edition_test.rb ---------------------------------------------------------------------- require 'test_helper' class BookEditionTest < ActiveSupport::TestCase test "create valid book edition" do b = Book.make e = BookEdition.new( :book => b ) assert_valid e assert e.save assert_equal e.book(true), b end test "create book edition without associated book" do e = BookEdition.new assert !e.valid? end end ---------------------------------------------------------------------- test/units/book_editions_image_test.rb ---------------------------------------------------------------------- require 'test_helper' class BookEditionsImageTest < ActiveSupport::TestCase test "relates to book editions and amazon images" do edition = BookEdition.make image = AmazonImage.make edition_image = BookEditionsImage.new( :amazon_image => image, :book_edition => edition ) assert_valid edition_image assert edition_image.save end end ---------------------------------------------------------------------- assert_valid is defined as: ---------------------------------------------------------------------- def assert_valid(record) assert record.valid?, record.errors.full_messages.join("\n") end ---------------------------------------------------------------------- Here are the associated models: app/models/book_edition.rb ---------------------------------------------------------------------- class BookEdition < ActiveRecord::Base belongs_to :book has_many :book_editions_users has_many :users, :through => :book_editions_users has_many :book_editions_images has_many :images, :through => :book_editions_images, :source => :amazon_image def validate errors.add_on_empty %w( book ) end def find_or_create_by_isbn(isbn) end end ---------------------------------------------------------------------- app/models/book.rb ---------------------------------------------------------------------- class Book < ActiveRecord::Base validates_presence_of :title has_many :editions, :class_name => 'BookEdition' end ---------------------------------------------------------------------- app/models/book_editions_user.rb ---------------------------------------------------------------------- class BookEditionsUser < ActiveRecord::Base belongs_to :user belongs_to :book_edition end ---------------------------------------------------------------------- app/models/user.rb ---------------------------------------------------------------------- class User < ActiveRecord::Base acts_as_authentic acts_as_authorized_user acts_as_authorizable attr_accessible :username, :email, :password, :password_confirmation has_many :book_editions_users has_many :book_editions, :through => :book_editions_users, :include => :book has_and_belongs_to_many :friends, :class_name => 'User', :association_foreign_key => 'friend_id' has_and_belongs_to_many :friend_of, :class_name => 'User', :foreign_key => 'friend_id', :association_foreign_key => 'user_id' def validate errors.add_on_empty %w( username email ) end end ---------------------------------------------------------------------- --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---

