So essentially you're trying to do something like this?
modelname.where(:name => "foo").union(modelname.where(:name => "bar"))
Since it's the same model, I don't think there's a reason to use a union in this case. Isn't this really just an OR operator?
select * from modelname where name = "foo" or name = "bar"
Couldn't you just use the or operator like so?
modelname.where("name = ? or name = ?", "foo", "bar").order("something")
Granted, your WHERE clause is probably more complex than that, but the principle should be the same.