Bonjour,
Je veux ajouter des favoris en ajax. Voici mon code :
///////// code javascript ///////////
$(".add_favoris").live(‘click’,function(){
var id;
id = $(this).attr(“rel”);
$.ajax({
type: “POST”,
url: ‘<%= favoris_url() %>’,
data: { announcement_id : id, account_id : “<%= current_account.id
%>”, _method: ‘post’ },
success: displaySucces,
error: displayError
});
////////// favoris_controller //////////
def create
@favori = Favori.new(params[:favori])
respond_to do |format|
if @favori.save
flash[:notice] = "<div class='notice'>Favoris was successfully
added."
format.html { redirect_to(@favori) }
format.js { redirect_to(@favori) }
format.xml { render :xml => @favori, :status => :created,
:location => @favori }
else
format.html { render :action => “new” }
format.js { render :action => “new” }
format.xml { render :xml => @favori.errors, :status =>
:unprocessable_entity }
end
end
Mon code fonctionne car j’arrive à ajouter un favoris mais comme vous
pouvez le voir sur la capture d’écran un nouveau favoris est créé mais
aucune donnée n’est entrée.
Il y a forcément un truc qui m’échappe. Quelqu’un peut-il m’aider ?
Ce ne serait pas a cause d’une valeur authenticity_token a ajouter dans
les données post ?
Vérifie le résultat de ta requête dans les logs , et dans la base
donnée.
Le 23 avril 2010 16:53, Thomas T. [email protected] a
écrit
:
Cédric Brancourt wrote:
Vérifie le résultat de ta requête dans les logs , et dans la base
donnée.
Je viens de vérifier et aucune donnée n’est prise en compte.
J’ai fais des test en passant dans l’ajax l’url : <%= favoris_url() %>,
<%= favoris_url() %>/new et <%= favoris_url() %>/create.
Il y a bien un nouveau favoris de créé mais avec aucune donnée dedans.
Je te donne un indice;
Ça viens de cette partie :
data: { announcement_id : id, account_id : "<%= current_account.id
%>",
Regarde bien L’api rails, et la manière dont il reconnaît
l’enregistrement
ou le formulaire expédié.
Ici dans les paramètres que tu renvoie rien n’indique a
@favori = Favori.new(params[:favori])
un quelconque params[“favori”].
les attribut que tu en envoie ne sont pas imbriqués dans un objet
“favori”.
Le 27 avril 2010 11:51, Thomas T. [email protected] a
écrit
:
Cédric Brancourt wrote:
Je te donne un indice;
Ça viens de cette partie :
data: { announcement_id : id, account_id : "<%= current_account.id
%>",
Regarde bien L’api rails, et la manière dont il reconnaît
l’enregistrement
ou le formulaire expédié.
Ici dans les paramètres que tu renvoie rien n’indique a
@favori = Favori.new(params[:favori])
un quelconque params[“favori”].
les attribut que tu en envoie ne sont pas imbriqués dans un objet
“favori”.
Le 27 avril 2010 11:51, Thomas T. [email protected] a
écrit
:
Mais oui !!!
Alalalalala je me désole !
Merci Cédrix pour cette réponse qui est la bonne.