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?与/用户?,但它似乎应该有一个不那么“黑客”的方式来做到这一点。
任何想法?