Okay, I'm completely unable to reproduce this. I still think the
problem is that your DB is broken. So, let's try this:
$ gem install schema_generator
$ rake db:schema:dump
$ mv db/schema.rb db/schema.rb-dump
$ ./script/generate schema
$ diff -u db/schema.rb{,-dump}
That should show you the differences between your currently loaded
schema and the one that you'd get if you installed a new DB from
scratch. Can you do that and send me the diff?
Scott
On 7/19/06, Steve Longdo <[EMAIL PROTECTED]> wrote:
> You told me to drop text_filter from contents. Migration #14 seems to
> support this as things were moved to the INTEGER column text_filter_id from
> STRING column text_filter. So how can the text_filter_id ever be a string
> name? Things work in admin if you don't want a TextFilter because it
> defaults to 'none'.
>
> (this is r1142)
>
> rake test
> First batch:
> Finished in 25.067883 seconds.
>
> 1) Failure:
> test_send_trackback(PingTest) [./test/unit/ping_test.rb:80]:
> <"title=Article%201!&excerpt=body&url=
> http://myblog.net/referring-post&blog_name=test%20blog">
> expected but was
> <"title=Article+1%21&excerpt=body&url=
> http://myblog.net/referring-post&blog_name=test+blog">.
>
> 142 tests, 472 assertions, 1 failures, 0 errors
>
> Second batch:
> Finished in 81.125948 seconds.
>
> 1) Failure:
> test_sparkline(TextfilterControllerTest)
> [./test/functional/textfilter_controller_test.rb:138]:
> <nil> is not true.
>
> 206 tests, 806 assertions, 1 failures, 0 errors
>
>
>
> On 7/19/06, Scott Laird < [EMAIL PROTECTED]> wrote:
> > Maybe I'm being slow, but what's the problem with this? This matches
> > mine, and mine seems to work fine.
> >
> > Out of curiosity, do your tests pass if you run 'rake test'? Make
> > sure you have a test DB defined and it's not the same as your
> > production DB, or Bad Things happen.
> >
> >
> > Scott
> >
> > On 7/19/06, Steve Longdo <[EMAIL PROTECTED]> wrote:
> > > Just tried and problem is still on the article form:
> > > <label for="article_text_filter"
> > > >Textfilter: </label><select id="article_text_filter"
> > > name="article[text_filter]"><option value="none"
> > > selected="selected">None</option>
> > >
> > > <option
> > > value="markdown">Markdown</option>
> > > <option
> > > value="smartypants">SmartyPants</option>
> > > <option value=
> > > "markdown smartypants">Markdown with SmartyPants</option>
> > > <option value
> > > ="textile">Textile</option></select><br
> > > />
> > > Which is generated in
> app/views/admin/content/_form.rhtml:
> > > <label for="article_text_filter">Textfilter:
> </label><%=
> > > select 'article', 'text_filter', text_filter_options %><br />
> > >
> > >
> > >
> > > On 7/19/06, Scott Laird <[EMAIL PROTECTED]> wrote:
> > > > Did you restart Typo after dropping the column?
> > > >
> > > >
> > > > Scott
> > > >
> > > > On 7/19/06, Steve Longdo <[EMAIL PROTECTED]> wrote:
> > > > > I dropped the text_filter column.
> > > > >
> > > > > The admin page saves text_filter not text_filter_id. So I can't use
> > > filters
> > > > > now.
> > > > >
> > > > > More confusingly it saves text_filter by name instead of just id.
> Seems
> > > to
> > > > > be some confusion between how contents table and blogs table work.
> Not
> > > > > sure how you would like this resolved.
> > > > >
> > > > >
> > > > >
> > > > > On 7/19/06, Scott Laird < [EMAIL PROTECTED]> wrote:
> > > > > > 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
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > 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
> > > >
> > >
> > >
> > >
> > > --
> > > 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
> >
>
>
>
> --
> 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