That works. Thanks.
One other issue that's cropping up.
The STI inheiritance has some weird loading behavior. Writers are not
found with RegisteredUser.find until after they've been loaded with
Writer.find:
> RegisteredUser.find_by_name('John Doe')
=> nil
>> Writer.find_by_name('John Doe')
=> #<Writer id: 1, name: "John Doe">
>> RegisteredUser.find_by_name('John Doe')
=> #<Writer id: 1, name: "John Doe">
Any idea what that's all about?
On Sep 24, 7:17 am, Mark Reginald James <[EMAIL PROTECTED]>
wrote:
> magic_hat wrote:
> > My app has BlogPosts, which are a sub of Articles. It's got Writers <
> > RegisteredUsers < Users.
>
> > When I try to call registered_user on a BlogPost, I get nil.
>
> > Any & all help appreciated.
>
> > class Article < ActiveRecord::Base
> > etc....
>
> > end
>
> > class BlogPost < Article
> > validates_presence_of :section_id, :title, :body
> > belongs_to :registered_user
>
> > end
>
> > class NewsArticle < Article
> > belongs_to :writer
> > end
>
> > require "digest/md5"
> > class User < ActiveRecord::Base
> > etc...
> > end
>
> > class RegisteredUser < User
> > validates_uniqueness_of :name
> > has_many :comments
> > has_many :events, :class_name => "Article", :foreign_key =>
> > "user_id"
> > has_many :blog_posts, :class_name => "Article", :foreign_key =>
> > "user_id"
> > end
>
> > class Writer < RegisteredUser
> > has_many :news_articles, :class_name => "Article", :foreign_key =>
> > "user_id"
> > end
>
> >>> @post=BlogPost.find(:first, :conditions=>'user_id=1')
> > => #<BlogPost id: 505, title: "Cubs outlook", type: "BlogPost",
> > user_id: 1>
> >>> User.find(1)
> > => #<Writer id: 1, type: "Writer">
> >>> @post.registered_user
> > => nil
>
> You should instead have:
>
> belongs_to :registered_user, :foreign_key => :user_id
>
> A Rails bug meant that you didn't get an error message.
>
> --
> Rails Wheels - Find Plugins, List & Sell Plugins -http://railswheels.com
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---