Rails: Passer Des Paramètres Par Le Biais De L'Ajax

J'ai besoin de passer des paramètres à l'aide de javascript sur le serveur. En ce moment, je passe en javascript comme ceci:

sendParams("<%= params[:q].to_json %>");

Puis l'envoyer en arrière comme ceci:

function sendParams(q){
  $.ajax({
    url: '/mymodel/myaction',
    type: 'post',
    data: {'q':q},
    contentType: 'json'
  });
}

Dans mon contrôleur, j'essaie de les utiliser comme je le ferais de toute autre params:

MyModel.where(params[:q])

Mais les paramètres sont de retour à vide, même si firebug montre cela dans le POST onglet:

q=%7B%26quot%3Bc%26quot%3B%3A%7B%26quot%3B0%26quot%3B%3A%7B%26quot%3Ba%26quot%3B%3A%7B%26quot%3B0%26quot%3B%3A%7B%26quot%3Bname%26quot%3B%3A%26quot%3Btitle%26quot%3B%7D%7D%2C%26quot%3Bp%26quot%3B%3A%26quot%3Bcont%26quot%3B%2C%26quot%3Bv%26quot%3B%3A%7B%26quot%3B0%26quot%3B%3A%7B%26quot%3Bvalue%26quot%3B%3A%26quot%3B2%26quot%3B%7D%7D%7D%7D%2C%26quot%3Bs%26quot%3B%3A%7B%26quot%3B0%26quot%3B%3A%7B%26quot%3Bname%26quot%3B%3A%26quot%3Bvotes_popularity%26quot%3B%2C%26quot%3Bdir%26quot%3B%3A%26quot%3Bdesc%26quot%3B%7D%7D%7D

Aucune idée pourquoi cette information n'est pas traitée par la clause where? Que puis-je faire pour faire de la params Rails de nouveau lisibles?

Mise à JOUR:

Started POST "/publications/search?scroll=active&page=6" for 127.0.0.1 at 2013-0
2-12 22:55:24 -0600
Processing by PublicationsController#index as */*
Parameters: {"scroll"=>"active", "page"=>"6"}

Mise à JOUR 2:

Le problème est apparemment issu de contentType. Lorsque je le supprime, puis q est envoyé sous forme de Rails de paramètre. Malheureusement, q est toujours en JSON, ce qui entraîne l'erreur:

undefined method `with_indifferent_access' for #<String:0x686d0a8>

Comment puis-je convertir JSON pour un params de hachage?

Pouvez-vous afficher la demande et les paramètres enregistrés dans le développement.journal. Je suppose que c'est un dev env.
Bonne prise. "q" n'apparaissent pas dans les paramètres. Je suis en supposant qu'elle devrait, même si c'est dans le post de données?

OriginalL'auteur nullnullnull | 2013-02-13