0
我有一個帶有home
方法的static_pages_controller。用rails中的ajax顯示更新數據
在home.html.erb
頁面我有一個按鈕:
<%= button_to "Refresh recommendations",
{action: :home, reset: true},method: :get,remote: true , class: 'btn btn-success'%>
當用戶點擊我想有控制器重新計算的推薦列表按鈕,這是工作, 我遇到的問題是更新包含新建議清單的div。
static_pages_controller#家
def home
puts "PARAMS #{params}"
respond_to do |format|
format.html{}
format.js
end
end
從各種指南和線程我一直在關注,我應該有一個home.js.erb
,並從我的理解,當AJAX調用時的控制器應執行home.js.erb - 它目前沒有執行。
我已經包括我的routes.rb
只是因爲事情搞砸了。
root "static_pages#home"
post '/spec', to: "static_pages#spec_rec"
在提交Ajax請求的服務器將輸出以下:
Started GET "/refresh" for 127.0.0.1 at 2014-03-13 12:11:27 -0400
Processing by StaticPagesController#refresh as JS
Rendered static_pages/_refresh.html.erb (0.1ms)
試圖解決這個問題我得到錯誤沒有路由匹配帖子「/刷新」。我是否需要強制button_to作爲獲取請求? – Derptacos
您不應該使用post/refresh,而應該使用rails創建的refresh_home_path,正如我的答案中所示。目前建議的方式是使用「get」而不是「post」 – Danny
我遇到的問題是javascript永遠不會被調用 - >我甚至改變了js以提醒(this)來測試是否它被稱爲。病毒更新我的主要帖子與服務器的信息 – Derptacos