Im having trouble figuring out how to query my database in ruby and
i’m hoping someone can help me out.
I’d like to find all my departments that match a permalink passed from
the url. The department must also match a particular category, also
passed through the url.
I have written the following code. But unfortunatley I get an error
“wrong number of arguments (2 for 1)”
category = params[:category]
department = params[:department]
Is this an exact copy of the code? The find :all will return a hash
even if there is only one result row. So in the above @department will
always be a hash.
If you want only one department then use find :first which returns a
scaler of the row.
As an aside you can also combine the two statements:
@departments is an array of Department objects created by
the class method Department#find.
In the second line, since @departments is an array, you are using
Enumerable#find which require 0 or 1 argument and 1 block.
So that’s not the find method you want to use, and that’s not the
right way to use Enumerable#find as well