搜索后需要帮助格式化结果页面

时间:2010-04-26 00:10:28

标签: javascript ruby-on-rails ruby

我在ROR上构建了一个基于文本的小型搜索引擎,它将显示其中包含指定搜索词的相关记录。由于少数记录有超过1000个单词我已将每个结果集截断为200个字符。我的视图文件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 -%>

我想提供一个选项,以便每当选择任何截断的记录时,必须显示整个正文。 我还想对每页显示一些固定数量的记录的结果页面进行分页。任何人都可以帮我这样做吗? 提前致谢。

2 个答案:

答案 0 :(得分:1)

对于分页,你没有比http://wiki.github.com/mislav/will_paginate/更好的选择。

我不确定您选择记录时的确切含义,但它看起来像Javascript toggle()(如果使用jquery http://api.jquery.com/toggle/)。

有关如何使用这两项功能的文档非常完整

对等

答案 1 :(得分:0)

我会用两种方式解决这个问题。

  1. 加载结果的全文并使用CSS / javascript隐藏任何无关的文本。
  2. 只加载前200个单词,正如您现在所做的那样,并从用户加载特定操作的全文(在这种情况下,可能是悬停或单击)。
  3. 选项1更简单,但选项2可以为您节省大量的带宽/页面加载时间。

    推荐起点:

    1. http://api.rubyonrails.org/classes/ActionView/Helpers/PrototypeHelper.html
    2. http://guides.rubyonrails.org/layouts_and_rendering.html
    3. 一旦掌握了渲染在rails中的工作方式并将这些javascript助手实现到您的应用程序中,就不应该太难理解。