我確實有問題。 Turbolinks熄滅 這裏創建帖子請求ajax不會改變頁面
一切工作正常。我讓我的網頁上像這樣的鏈接
<a class="unpublish" data-method="post" rel="nofollow" data-remote="true" data-id="#{@id}" href="/books/14/unpublish" >Draft</a>
這裏是我的脫脂模板
<hr>
<p>#{@title}</p>
<p>#{@author}</p>
<p>#{@description}</p>
<div class="publishing" id="book_#{@id}""
<a class="publish" href="/books/#{@id}/publish" data-method="post" rel="nofollow" data-remote="true" data-id="#{@id}">Publish</a>
</div>
但後來當我嘗試點擊這個鏈接沒有任何可見的發生在頁面上,但XHR與發送一個propper狀態,沒有錯誤。這對我來說是個謎。 她是我的聽衆
$('.publish').bind 'ajax:success', (e, data, status, xhr) ->
e.preventDefault()
res = $.parseJSON(xhr.responseText)
result = publishBooks(res)
alert(result)
book_id = "#book_" + $(this).data('id')
$(book_id).html(result)
我非常需要一些幫助。任何幫助。當我重新加載頁面時,一切再次正常工作
Thaks to monsieur VKatz 我終於有一個工作ecsample! 看起來是這樣的
ready = ->
createBooks = (res)->
result = JST["templates/create_book"]
title: res.book.title
author: res.book.author
description: res.book.description
id: res.book.id
result
publishBooks = (res)->
result = JST["templates/publish"]
time: res.book.published_at
id: res.book.id
result
unpublishBooks = (res)->
result = JST["templates/unpublish"]
id: res.book.id
result
$('.new_book').bind 'ajax:success', (e, data, status, xhr) ->
res = $.parseJSON(xhr.responseText)
result = createBooks(res)
$('.drafts').append(result)
$('.publish').bind 'ajax:success', (e, data, status, xhr) ->
res = $.parseJSON(xhr.responseText)
result = publishBooks(res)
book_id = "#book_" + $(this).data('id')
$(book_id).html(result)
$('.unpublish').bind 'ajax:success', (e, data, status, xhr) ->
e.preventDefault()
alert('okko okko')
$(document).ready(ready)
$(document).on('page:load', ready)
$(document).on('page:update', ready)
$(document).on('click', '.unpublish', ready);
現在它的工作,但只爲類未發佈?我應該爲每個課程設置這個東西,比如「發佈」等嗎?
好吧,我會嘗試!我太累了,謝謝你的幫助!我還應該添加turbolinks,因爲我刪除了它們或者jquery-turbolinks就夠了?對不起,在你的回答中看到你需要turbolinks –
沒有,這沒有幫助(((( –
查看'turbolinks'是使瀏覽你的web應用程序更快的概念[Turbolinks](https://github.com/turbolinks/turbolinks)。其他事情給我一些時間。會回覆給你。 – VKatz