2011-08-26 18 views
0

嘗試創建一個視圖,該視圖在嵌入(通過js)在另一個文檔中時可以提供一組分頁結果。這是代替使用iframe。父文檔中的嵌入代碼如下所示:在可嵌入javascript視圖中使用mislav_will_paginate

<script type="text/javascript" src="http://MYWEBSITE/search?query=MYPARAMETERS&embed=true&per_page=20"/> 

視圖(embed.html.erb),響應這一行動看起來是這樣的:

(function(){ 

document.write('<div id="df_search_results">') 

<% @results.each do |result| %> 
    document.write('<a href="<%= result.url %>" rel="lightbox[aj]" title="<%= result.title %>"><img src="<%= result.other_url %>" width="100" height="100" /></a>') 
<% end %> 

<% if @hits > @results.size %> 
    document.write(<%= will_paginate @results %>) 
<% end %> 

document.write('</div>') 

})() 

可正常工作時will_paginate標籤被排除。它不能完全呈現,並且在包含will_paginate標記時不會在日誌中放置任何錯誤。

回答

0

的問題是這一行:

document.write(<%= will_paginate @results %>) 

will_paginate方法的輸出將被插在你的腳本,但沒有正確引述傳遞給write()方法字符串。你需要逃避它。

在Rails中,你可以使用escape_javascript method

document.write('<%= j will_paginate(@results) %>') 

(注意單引號)。

如果你不使用Rails的,你可以copy its source here

+0

完美 - 我從來沒有必要逃過js之前。 – mpokress

相關問題