create hash before model.find( _your_created_hash_ )

"George писал(а): "

Maybe I should ask this in Ruby forum. Can anybody tell me how to create a hash before invoke the 'find' method and use this hash as parameter for the method?

Smt like:

find_hash = Hash.new if condition1   find_hash[ :all ] = true ??? else   find_hash[ :first ] = true ??? end

....

users.find( find_hash )

thank

-- Posted via http://www.ruby-forum.com/.

find() accepts options hash as a second optional parameter. :first or :all symbol is a method parameter, not a hash value. What you need is: find_params = if condition1   find_params[0] = :all else   find_params[0] = :first end

all other options, such as limit, group or include should be placed in the options hash, e.g. find_params[1] = {:include => :posts, :limit => 10}

then the find method is called in this way: users.find(*find_params)