Nick,
To use JSONP calls you pass the "callback" param in the query string. So, since Praxis does not know anything about that (or JSONP for that matter), he expects that parameter to be defined for all the actions that you allow it on. Obviously that's not optimal, but, strictly speaking that would solve your problem at hand.
One way to do that would be to build a trait, and include it at the top of every resource definition (so that all actions will inherit it)
Another "hacky", but perhaps simpler, approach for now can be to build or monkey-patch the rack JSONP middleware so that it "deletes" that parameter from the 'env' after it uses it. That would keep Praxis happy (since it won't see it) but it is not a good solution since nothing in the documentation would know about the jsonp support. Again, it would make it work, but not great.
- BTW: another way to avoid monkey patching would be a add another "lambda-type" middleware (added after JSONP) that simply deletes the "callback" key from the env.
Note: I am not sure what the ":_" extra param you're pasting above...I'm assuming that's just a test you have passing that key?...
Now... about the "real/better" way to fix it...:
- We are in the middle of building/designing the Plugin architecture for Praxis, and as such we'll create more flexibility to connect other pieces of software into your app...which includes middleware of sorts. For example, we could allow you to add straight middleware pieces into the app, rather than doing it with a builder outside the inner app. This would allow us/you to trivially create a JSON Plugin that adds an existing middleware (rack jsonp) into your app and adds other hooks such as automatically creating params for all your resources/actions and even create hooks into document generation understanding its semantics...etc.
Anyway, so, you'd need to "hack it in" for how but better support for such things is on the way. (We can probably share some initial thoughts with the list soon, to see what everybody else thinks).
Cheers,
Josep M.