2010-04-26 71 views
0

我已經在ROR上建立了一個小型的基於文本的搜索引擎,它將顯示在其中具有指定搜索詞的相關記錄。因爲少數記錄具有超過1000個詞,我已經截短了每個詞結果設定爲200 characters.My意見文件search.html.erb看起來像這樣搜索後需要幫助格式化結果頁面

<% @results_with_ranks.each do |result| -%> 

    <% content_id = rtable.find(result[0]).content_id %> 
    <% content= Content.find(content_id) %> 
    <%= truncate content.body, :length => 200 %><br/> 

<p> Record id <%= content.id %></p> 

    <hr style="color:blue"> 

    <% end -%> 

我想提供一個選項,以便每當選擇任何截斷記錄其整個身體已經被顯示。 我也想分頁顯示每頁固定數量的記錄結果頁面。任何機構可以幫助我做到這一點? 在此先感謝。

回答

1

對於分頁,您沒有比http://wiki.github.com/mislav/will_paginate/更好的選擇。

我不確定您選擇記錄時的確切含義,但它看起來像一個Javascript切換()(如果使用jQuery http://api.jquery.com/toggle/)。關於如何使用這兩個功能

文檔是非常完整的

同行

+0

這將是我的答案提供了來自kshama的信息.. will_paginate是一個偉大的工具! – Rabbott 2010-04-26 02:17:48

0

我會解決這個問題的兩種方法之一。

  1. 加載結果的全文並使用CSS/javascript隱藏任何無關文本。
  2. 只加載前200個單詞,就像現在所做的那樣,並將全文加載到用戶的特定操作上(在這種情況下,可能是懸停或單擊)。

選項1比較簡單,但選項2會爲您節省相當數量的帶寬/頁面加載時間。

推薦的出發點:

  1. http://api.rubyonrails.org/classes/ActionView/Helpers/PrototypeHelper.html
  2. http://guides.rubyonrails.org/layouts_and_rendering.html

應該不會太難搞清楚一旦你得到的在軌如何使作品手柄和實施這些JavaScript助手到您的應用程序。