ZShell cannot invoke parameterized Rake Task

Just met a super wield question in zsh when I trying to invoke a parameterized rake task.
I have a rake task that helps me to create class and related test case for coffee script. It should be invoked in this way:

Invoke Rake Task
1
rake new:class[class_name]

I need to pass the parameter in a pair of square brackets, the syntax work pretty fine in bash shell. But when I do it in zsh, it yield error:
zsh: no matches found: new:class[BottleContainer]

So I have to create a new bash instance in zsh to invoke the shell. It is super wield and stupid.