2010-03-04 3 views
1

Je suis à l'heure depuis maintenant, en essayant d'obtenir vote_fu et en cours d'exécution. J'ai finalement fait un vote sur un objet votable (album), mais je dois continuer à rafraîchir la page pour voir l'effet de mes connaissances Ajax avec les rails est basique et je ne sais pas où je vais me tromper avec cette aide être génial serait très apprécié !!!Vote_fu et demandes Ajax

Le code correspondant est le suivant:

fichier javascript

application.js: 

// Place your application-specific JavaScript functions and classes here 
// This file is automatically included by javascript_include_tag :defaults 

jQuery.ajaxSetup({ 
'beforeSend': function(xhr) {xhr.setRequestHeader("Accept", "text/javascript")} 
}) 

jQuery(document).ready(function() { 
$("#votes_ .album").bind('click', function(e) 

}); 

| ___________________________________________________________________________________________

jquery.js jquery-ui.js jrails.js

Mise en page/appliction .html.erb (javascript ajouté à l'en-tête)

<%= javascript_include_tag :defaults %> 
<%= javascript_include_tag 'jquery.js', 'application.js' %> 

view/votes

_album_vote.html.erb

<%# 
# You can't vote if it is your quote, 
# you are not logged in, 
# or you have already voted on this item 

unless album.user == current_user || 
current_user.voted_on?(@album) 
%> 

<%= link_to_remote "Vote Up", 
    :url => user_album_votes_path(album.user, album, :vote => :true, :format => :rjs), 
    :method => :post %> 




<%= link_to_remote "Down", 
    #:url => current_user.vote_down_path(album), :vote => :false, :format => :rjs, 
    :url => user_album_votes_path(album.user, album, :vote => :false, :format => :rjs), 
    :method => :post 
    %> 

<%# end %> 



Votes: <%= @album.votes_for - @album.votes_against %> 

| ___________________________________________________________________________________________

vue/album/show:

<div id="votes_<%= @album.id %>" class="album_votes"> 
<%= render :partial => "votes/album_vote", :locals => {:album => @album} %> 
</div> 

| ___________________________________________________________________________________________

create.rjs

page.replace_html "votes_#{@album.id}", :partial => "album_vote", :locals => {:album => @album} 

| ___________________________________________________________________________________________

error.rjs

page.alert "Couldn't save your vote: You can only vote once, and you cannot vote for your own items." 

| ___________________________________________________________________________________________

J'ai essayé de jouer avec l'ID #votes_ .album que je pensais être un nom incorrect, mais ça ne marche toujours pas, même pas une erreur, c'est comme si javascript était désactivé!

Toute aide serait géniale!

trouvé l'erreur sur la console du serveur:

NameError (uninitialized constant Mime::RJS): 
    app/controllers/votes_controller.rb:54:in `create' 
    app/controllers/votes_controller.rb:52:in `create' 

Je concourra cela avant l'extinction des feux (heure du coucher)!

Si vous aimez, donnez-moi un coup de main!

Cordialement

Dan

+0

En regardant à nouveau à l'aide de firebug le problème est avec l'application.js 1 erreur ne sais pas comment réparer, mais toujours à la recherche! – MrThomas

Répondre

0

Il semble que vous avez des problèmes avec votre configuration jquery de base.Les deux postes suivants ont m'a certainement aidé la courbe d'apprentissage jQuery:

jQuery Railscast

Beginners Guild to jQuery and Rails

Ces postes ainsi que le Firebug étonnant devraient vous y

Hope this helps.

+0

Acclamations Jonathan a vu le Railscast et suivra la guilde des débutants. – MrThomas

Questions connexes