0
我想通過ajax調用更新索引頁。我遇到的唯一問題是返回的will_paginate鏈接具有url的.js擴展名。渲染will_paginate鏈接,如果通過html請求,當通過ajax請求時
這是我的coffeescript,使請求。
onSearchBoxChanged :() ->
console.log "search box changed"
console.log @view.getSearchBoxContents()
jQuery.getScript('/users.js?search=' + @view.getSearchBoxContents())
在用戶控制器中,我對html和javascript都做出了迴應。
respond_to :html, :js
我也有局部的will_paginate鏈接(在_paginate.html.erb文件)
<%= will_paginate %>
這裏是我的index.js.coffee文件
console.log "back from server "
console.log '<%= escape_javascript(render(@users)) %>'
userList = '<%= escape_javascript(render(@users)) %>'
console.log '<%= escape_javascript(render("paginate")) %>'
paginate = '<%= escape_javascript(render("paginate")) %>'
jQuery.publish('new_user_list_from_server', [ userList, paginate ])
這裏是在控制檯上打印的鏈接
<div class="pagination"><ul><li class="prev previous_page disabled"><a href="#">← Previous</a></li> <li class="active"><a rel="start" href="/users.js?_=1413756082270&page=1&search=j">1</a></li> <li><a rel="next" href="/users.js?_=1413756082270&page=2&search=j">2</a></li> <li class="next next_page "><a rel="next" href="/users.js?_=1413756082270&page=2&search=j">Next →</a></li></ul></div>
我可以只替換所有的/users.js?與/用戶?,但它似乎應該有一個不那麼「黑客」的方式來做到這一點。
任何想法?