This is a database/active record problem, *not* a text filter problem. The problem, plain and simple, is that article.text_filter is supposed to be a TextFilter object, but instead it's a block of YAML. I'm not quite sure how that could happen--it shouldn't ever have been YAML in the first place, so it's not like it missed a conversion step.
Oh, wait--there it is. Your schema is broken. You have a 'text_filter' field in contents; there should only be a 'text_filter_id' field. Back up your db and drop text_filter, and you should be okay. Somehow you missed that migration. Scott On 7/18/06, Steve Longdo <[EMAIL PROTECTED]> wrote: > A little research on populate_html_fields shows it sprang into > existence between r1004 and r1033 in the content.rb model. As near as > I can see it was always expecting a controller of some kind and never > the instance of Content that the ContentObserver(also r1033) sends in. > > 101 def html(controller,what = :all) > 99 def populate_html_fields(controller) > > *sigh* I will into it some more tomorrow, tired now. > > On 7/18/06, Steve Longdo <[EMAIL PROTECTED]> wrote: > > I've never personally edited my typo table structure. I do know one > > of the migrations ran and turned my UTF-8 data into ASCII. Only > > because I had some language characters outside the overlap in the > > charactersets. > > > > I'm suspicious of the change in the ContentObserver class from 2 weeks > > ago. It seems to be responsible for populating the html_fields before > > a save. I suspect if I remove the commentted line my body_html field > > will get populated again. > > > > At any rate I show 18 tables. Is that right? > > > > mysql> show tables; > > +-----------------------+ > > | Tables_in_rhesus_typo | > > +-----------------------+ > > | articles_categories | > > | articles_tags | > > | blacklist_patterns | > > | blogs | > > | categories | > > | contents | > > | notifications | > > | page_caches | > > | pings | > > | redirects | > > | resources | > > | schema_info | > > | sessions | > > | sidebars | > > | tags | > > | text_filters | > > | triggers | > > | users | > > +-----------------------+ > > 18 rows in set (0.00 sec) > > > > mysql> desc > > contents;+------------------+--------------+------+-----+---------+----------------+| > > Field | Type | Null | Key | Default | Extra > > > > |+------------------+--------------+------+-----+---------+----------------+| > > id | int(11) | | PRI | NULL | > > auto_increment || title | varchar(255) | YES | | NULL > > | || author | varchar(255) | YES | | > > NULL | || body | text | YES | > > | NULL | || body_html | text | YES > > | | NULL | || extended | text | > > YES | | NULL | || excerpt | text > > | YES | | NULL | || keywords | > > varchar(255) | YES | | NULL | || text_filter > > | varchar(255) | YES | | NULL | || created_at > > | datetime | YES | | NULL | || > > updated_at | datetime | YES | | NULL | > > || extended_html | text | YES | | NULL | > > || user_id | int(11) | YES | | NULL | > > || permalink | varchar(255) | YES | | NULL | > > || guid | varchar(255) | YES | | NULL > > | || text_filter_id | int(11) | YES | | > > NULL | | > > | whiteboard | text | YES | | NULL | | > > | type | varchar(255) | YES | | NULL | | > > | article_id | int(11) | YES | MUL | NULL | | > > | email | varchar(255) | YES | | NULL | | > > | url | varchar(255) | YES | | NULL | | > > | ip | varchar(40) | YES | | NULL | | > > | blog_name | varchar(255) | YES | | NULL | | > > | name | varchar(255) | YES | | NULL | | > > | comments_count | int(11) | YES | | NULL | | > > | trackbacks_count | int(11) | YES | | NULL | | > > | published | tinyint(1) | YES | | 0 | | > > | allow_pings | tinyint(1) | YES | | NULL | | > > | allow_comments | tinyint(1) | YES | | NULL | | > > | blog_id | int(11) | | MUL | 0 | | > > | published_at | datetime | YES | | NULL | | > > +------------------+--------------+------+-----+---------+----------------+ > > 31 rows in set (0.00 sec) > > > > On 7/18/06, Scott Bronson <[EMAIL PROTECTED]> wrote: > > > On Tue, 2006-07-18 at 21:52 -0500, Steve Longdo wrote: > > > > I have an update for some reason the @article.text_filter is returning > > > > a YAML String instead of a TextFilter object. This is probably the > > > > culprit for Trac #1006 as well. I confirmed this in the console > > > > loading the saved new post(a) and an older one that still renders > > > > correctly(b): > > > > > > When I encountered symptoms like this, it's because my database schema > > > was hosed. Probably happened when I tried to fix the migrations 6 > > > months ago. My database had an extra table that wasn't being used but > > > had the same name as a variable in the code. AR wasn't very happy about > > > that and instantiated YAML strings instead of objects. > > > > > > In my case, I dropped the table and things started working. > > > > > > So, you might want to give your schema a close look-see. Especially > > > check for extra tables. > > > > > > I've been meaning to write a Typo database lint tool... It would ensure > > > that no extra tables exist, all table references work, no duplicates, > > > etc. Ah, if only I had a bit more time... > > > > > > - Scott > > > > > > > > > > > > _______________________________________________ > > > Typo-list mailing list > > > [email protected] > > > http://rubyforge.org/mailman/listinfo/typo-list > > > > > > > > > -- > > Thanks, > > -Steve > > http://www.stevelongdo.com > > > > > -- > Thanks, > -Steve > http://www.stevelongdo.com > _______________________________________________ > Typo-list mailing list > [email protected] > http://rubyforge.org/mailman/listinfo/typo-list > _______________________________________________ Typo-list mailing list [email protected] http://rubyforge.org/mailman/listinfo/typo-list
