Why find_by_sql works and find(args) doesn't

I'm trying to use Campsite.find(:all, :condition => ['walk_id = ?',params[:walks][:id]]) but fails and instead, if I use Campsite.find_by_sql("select * from campsites where walk_id = "+params[:walks][:id]), it works fine. So, I'm wondering why.. I've created combo box as: <%form_tag do%> <%=select :walks, :id, @great_walks%> <%end%>

thanks.

It's "conditions", not "condition":

Campsite.find(:all, :conditions => ['walk_id = ?',params[:walks][:id]])