在轨道上使用红宝石自动完成

时间:2014-01-18 11:00:59

标签: ruby-on-rails ruby sunspot

我是铁杆上的红宝石新手。事实上,我从昨天开始研究它。所有的概念对我来说都是新的。我遇到了一个需要帮助的问题。

这是我的控制器文件。

    class ProductsController < ApplicationController  
      def new
        #render :layout => 'mylayout'
      end

      def result 
        #@site_matches = Srch.find(:all,:conditions =>["q=?",params[:q]] ) 
        #render :layout => 'mylayout'
      end

      def show
        #render text: params[:products].inspect
        @site_matches = Srch.where("name like ?", "%#{params[:name]}%")
      end
    end

这是我的HTML文件,我收到搜索字词并显示结果。

    <h1>Results for your search.</h1>
    <%= render "products/new"%>
<table><tr><th>Name</th><th>Max. Price</th><th>Min. Price</th><th>Discount</th><th>Image</th></tr>

    <% for prod in @site_matches %>
    <tr><td><%= prod.name %></td><td><%= prod.maxprice%></td><td><%= prod.minprice%></td><td><%= prod.discount%></td><td> <%= image_tag(prod.image, :alt => "logo", :size => "75x75") %> </td></tr>

    <% end %>
    </table>
    </br>

    <%= link_to "Search again" , "new" %>

我可以获取数据并正确显示结果。但我需要为现有功能添加自动完成功能。我怎么能这样做 i)不使用太阳黑子和 ii)如何使用太阳黑子呢?

2 个答案:

答案 0 :(得分:0)

对于自动完成,您可以使用Jquery的自动完成实用程序,您所要做的就是提供自动完成的json数据。 Rails具有to_json函数,可将当前结果转换为json

答案 1 :(得分:0)

或者您也可以尝试Rails 3 Jquery Autocomplete Gem,我总是在我的项目中使用它,它可以自定义并且易于安装。