我有一個頁面呈現一個列表Ideas
。每個項目旁邊都有一個聲明按鈕。 應該發生的是用戶單擊聲明按鈕,Idea#claim
控制器操作運行,並且聲明按鈕變暗。嘗試在Rails中首次使用Ajax:控制器呈現空白文檔?
什麼其實發生是......什麼都沒有。甚至沒有Rails錯誤頁面,這就是我被卡住的原因。相關片段遵循:
的routes.rb
resources :ideas do
collection do
post 'claim'
end
end
ideas_controller#權利要求
def claim
@idea = Idea.find(params[:idea_id])
current_user.claim(@idea)
respond_to do |format|
format.js { render :nothing => true }
end
end
_idea.html.erb局部
<span class="idea-actions" id=<%="idea"+idea.id.to_s%>>
<%= link_to "Claim", {method: "post", action: "claim", idea_id: idea.id}, {class: 'claim', remote: true} %>
</span>
ideas.js.coffee
$ ->
$('.claim').bind 'ajax:success', ->
alert 'Ajax success!'
這絕對是我第一次嘗試做這樣的事情,和我的CoffeeScript/JS是幾乎不存在。任何意見或指針將不勝感激。
編輯1:從的application.js到ideas.js.coffee移至代碼,切換使用的形式向button_to
link_to
。上面代碼中顯示的更改。現在,當我點擊鏈接時,絕對沒有任何反應。仍然沒有快樂! :\
我做到了(並改爲李nk_to,並做了一些其他更改),但它仍然無法正常工作。你可以看看上面的代碼更改,看看你是否有任何其他的見解?謝謝! – ezuk
啊!我必須將POST操作移動到HTML選項!我想我現在走在正確的軌道上! – ezuk