Why does a single record lookup return an array? (Rails beginner)
ruby, ruby-on-rails, ruby-on-rails-3, ruby-on-rails-3.1
Solution
Because sometimes you don't know how many objects a query should return, so for consistency you always get an array.
To get a single object use
store = Store.where("some_id = ?", some_id).first
If you are looking for the primary ID of the model, you can also use
store = Store.find(some_id)
which will raise a RecrodNotFound exception (handled by rails as a 404 by default) if it doesn't find the object.
Problem
I have a where operation on a model that returns a single object. But I can't seem to use it in object notation (it appears to return an array with the object at [0]). ``` store = Store.where("some_id = ?", some_id) puts store.name # doesn't work puts store # shows array with the object at [0] ```