2010-03-04 7 views
1

Я был в часах, пытаясь получить vote_fu и бег. Я, наконец, сделал голосование по голосующему объекту (альбому), но мне нужно постоянно обновлять страницу, чтобы увидеть, что эффект от моего знания Ajax с помощью рельсов является основным, и я понятия не имею, где я ошибаюсь. будь большой, было бы очень признательно !!!Запросы Vote_fu и Ajax

Соответствующий код выглядит следующим образом:

файла 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

Layout/смартфона как .html.erb (javascript добавлен в заголовок)

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

вид/голосов

_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 %> 

| ___________________________________________________________________________________________

вид/альбом/шоу:

<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." 

| ____ _______________________________________________________________________________________

Я пробовал играть с ID #votes_ .album, который, как я думал, был неправильным, но все же он не работает даже с ошибкой, это похоже на то, что javascript отключен!

Любая помощь будет замечательной!

Нашли ошибку на консоли сервера:

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

Я согласен это перед отбоем (кровать время)!

Если вам нравится, протяните руку помощи!

С уважением

Dan

+0

Оглядываясь на это снова с помощью firebug, проблема связана с приложением application.js 1 ошибка не уверена, как ее исправить, но все еще смотрю на нее! – MrThomas

ответ

0

Похоже, у вас есть проблемы с вашей базовой настройки Jquery.Следующие две должности, безусловно, помогла мне в JQuery кривого обучения:

jQuery Railscast

Beginners Guild to jQuery and Rails

Эти сообщения вместе с удивительным FireBug вы должны получить там

Надеются, что это помогает.

+0

Приветствия Джонатан видел Railscast и будет следовать за этой гильдией новичков. – MrThomas

Смежные вопросы