Hallo,
I am having a very strange Problem with STI in my application.
setup: - two tables one called "wikis" on called "categories" with a hbtm relationship. - the wikis table is the sti one with a model PageWiki being extended from Wiki (and the correspondig type column)
Following happens: - server restart - get :wikis, :show_pages - in show_pages the first line says PageWiki.find(:all) ! Now I get the following error
LoadError in WikisController#list_pages app/models/page_wiki.rb to define PageWiki // (it is of course defined there )
If i call the page again everythings works as it should be and the the error message never appears again until the server restarts BUT ! When I now try to add categories to my wikis with
@wiki = Wiki.find(params[:wiki]) @category = Category.find(params[:id]) @wiki.categories << @category unless @wiki.categories.index(@category)
I get the VERY unhelpful error messages telling me
ActiveRecord::AssociationTypeMismatch in WikisController#add_category Category expected, got Category
This error does not appear if do not call the list_pages method before.
If I change the line PageWiki.find(:all) to Wiki.find(:all, :conditions =>"type='PageWiki'") it all works.
Does anybody have any ideas what happens here? Thanks a lot for any help.
migo