Я был в течение нескольких часов сейчас, пытаясь получить функцию voice_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 / applicationtion.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."
| ___________________________________________________________________________________________
Я попытался поиграть с идентификатором #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