Heya Brian, thanks for posting! I'm not a Ruby expert so I'm going to grab one of my coworkers who is, but let me see what I can help with in the meanwhile.
To quickly start - the 3rd example you gave should definitely not work / should absolutely trigger the error you're seeing. From your example, all either wants an array of objects with a single key, or it wants a single object with a single key. The below should definitely fail:
all: {
state: ['Washington', 'Idaho'],
world_heritage_site: ['true']
}
I'm testing against my local national parks sample engine and I'm a little puzzled. Just to make sure, are you definitely giving us the code you're actually running (presumably against a sample engine), or are you just giving us a dummy/example? If you're actually sending this search, then the main issue I see is that state should be states, and you should be getting a Filters contains invalid key: state error.
If it's just an example - would it be possible for you to give us the exact code/syntax you're sending? Again, it sounds like the issue is your all array potentially has an object with multiple keys in it instead of just a single key, but it's hard to say without the actual code.