Try Categorization.all(:category_id => catID).url

On Apr 20, 11:44 pm, Dan D <[email protected]> wrote:
> Please help, I'm sure I'm over looking something silly, but I cannot
> query by category. Everything works great except the last line returns
> " Unknown property 'category'" error. Same if I use the (:conditions
> => ...... ) syntax.
>
> Thanks,
> Dan
>
> require 'rubygems'
> require 'dm-core'
>
> DataMapper.setup(:default, "sqlite3://#{Dir.pwd}/test.sqlite3")
>
> DataMapper::Logger.new(STDOUT, :debug)
> # :off, :fatal, :error, :warn, :info, :debug
> DataObjects::Sqlite3.logger = DataObjects::Logger.new(STDOUT, 0)
>
> class Url
>         include DataMapper::Resource
>
>         property :id,           Integer,        :serial => true
>         property :url,          Text,           :nullable => false
>
>         has n, :categorizations
>         has n, :categories,
>                 :through => :categorizations,
>                 :class_name => 'Category',
>                 :mutable => true
> end
>
> class Category
>   include DataMapper::Resource
>   property :id,       Serial
>   property :name,     String
>
>   has n, :categorizations
>   has n, :urls,      :through => :categorizations, :mutable => true
> end
>
> class Categorization
>   include DataMapper::Resource
>   property :id,       Serial
>
>   belongs_to :category
>   belongs_to :url
> end
>
> DataMapper.auto_migrate!
>
> cat1 = Category.new
> cat1.name = "Cat1"
> cat1.save
>
> cat2 = Category.new
> cat2.name = "Cat2"
> cat2.save
>
> Category.all
>
> url1 = Url.new
> url1.url = "http://yahoo.com";
> url1.save
>
> url2 = Url.new
> url2.url = "http://google.com";
> url2.save
>
> catID = Category.first.id
> urlID = Url.first.id
>
> Categorization.create(:category_id => catID, :url_id => urlID)
>
> urls = Url.all(:category => catID)
> ArgumentError: Unknown property 'category'
>         from /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/query.rb:
> 462:in `append_condition'
>         from /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/query.rb:
> 246:in `initialize'
>         from /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/query.rb:
> 245:in `each'
>         from /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/query.rb:
> 245:in `initialize'
>         from /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/model.rb:
> 431:in `new'
>         from /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/model.rb:
> 431:in `scoped_query'
>         from /usr/lib/ruby/gems/1.8/gems/dm-core-0.9.11/lib/dm-core/model.rb:
> 256:in `all'
>         from (irb):66
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"DataMapper" 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/datamapper?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to