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

Reply via email to