Search code examples
ruby-on-railsactiverecordruby-on-rails-2

undefined method when returning an array in object.find(:all, :conditions)


I'm using:

rails 2.3.9 ruby 1.9.3 windows 7 ultimate rubygems 1.8.24

This works:

@inventories = Inventory.find :first, :conditions => {:siteId => params[:siteId]}

This doesn't

@inventories = Inventory.find :all, :conditions => {:siteId => params[:siteId]}

Error message:

NoMethodError (undefined method `siteId' for #Array:0x49738f8)

Solution

  • For rails 2.x your syntax is slightly wrong If you want to find all records with certain conditions then try this example which uses multiple conditions

    @inventories = Inventory.find(:all, :conditions => ["siteId=? and priority=?", params[:siteId], 3])