/ / Using rails 4 comment envoyer des données via la méthode du contrôleur ajax et renvoyer un id d'objet

Utilisation de rails 4 comment envoyer des données via la méthode du contrôleur ajax et retourner un id d'objet - jquery, ruby-on-rails, ajax

Je pense que cela devrait être simple, mais je suis novice en ajax et en utilisant ajax dans les rails.

Si un utilisateur suit un lien vers mon site, ce lien contiendra un jeton. Au chargement de la page, je saisis ce jeton.

Je dois envoyer le jeton à une méthode de contrôleur (je pense), rechercher un utilisateur via le jeton et renvoyer ce user_id à l'appel ajax.

J'ai le jeton dans une var js. Et j'ai une méthode de contrôleur mais je suis coincé là.

Merci beaucoup pour l'aide.

Réponses:

0 pour la réponse № 1

Comme vous n’avez pas au préalable l’ID utilisateur, il est plus difficile d’avoir une structure RESTful dans le contrôleur, bien que vous puissiez avoir un from_token action dans votre UsersController:

class UsersController < ApplicationController
#...

def from_token
user = User.find_by_token(params[:token])

respond_to do |format|
format.json { render json: {user: {id: user.id}} }
end
end
end

Et dans routes.rb:

#...

resources :users do
get "from_token" => "users#from_token"
end

Selon les données que vous souhaitez utiliser pour JavaScript, il peut être plus facile de renvoyer toutes les données utilisateur, plutôt que simplement l'ID. Dans quel cas jetez un oeil à jBuilder pour construire des objets JSON plus complexes.

En termes de JavaScript, cela dépend du framework que vous utilisez pour faire la requête ajax dans le navigateur. API de requête ajax get.

var token = "{{extracted token}}";
$.get("/users/from_token.json?token=" + token, function(data) {
var userId = data.user.id;
});