ruby-on-rails-3 – 如何使用包含结果链接的pg_search multisear
发布时间:2020-12-17 03:46:25 所属栏目:百科 来源:网络整理
导读:我终于想出了如何实现pg_search的multiisearch功能.但是我在制作一个可用的搜索结果页面时遇到了麻烦,该页面显示了包含搜索词的各种文章和常见问题解答的链接.这是使用Rails 3.2.3的一个非常基本的设置: 楷模: 我有一个文章和一个常见问题解答模型,都有“
我终于想出了如何实现pg_search的multiisearch功能.但是我在制作一个可用的搜索结果页面时遇到了麻烦,该页面显示了包含搜索词的各种文章和常见问题解答的链接.这是使用Rails 3.2.3的一个非常基本的设置:
楷模: 我有一个文章和一个常见问题解答模型,都有“标题”和“内容”属性,以及这两个模型中的代码: include PgSearch multisearchable :against => [:title,:content] 搜索表单查看代码: 搜索表单将所有内容传递给名为“results”的控制器. <%= form_tag result_index_path,method: :get do %> <%= text_field_tag :query,params[:query] %> <%= submit_tag "GO",name: nil %> <% end %> 结果控制器: class ResultController < ApplicationController def index @pg_search_documents = PgSearch.multisearch(params[:query]) end end 我想创建一个搜索结果页面,显示找到的每个结果的标题,并返回该项目的链接.我想出了如何将’class’属性拉出@pg_search_documents.我的想法是在结果页面上做这样的事情: <ul> <% @pg_search_documents.each do |pg_search_document| %> <li><%= link_to pg_search_document.searchable.title,"../#{pg_search_document.searchable.class}/#{pg_search_document.searchable.id}" %></li> <% end %> </ul> 此代码生成的示例链接是:http:// localhost / Article / 3.如果我能弄清楚如何对“pg_search_document.searchable.class”进行整理和复数化,那么我将无家可归.我试过在模型和控制器中编写各种方法,并尝试编写一个帮助器.但这是我的Rails技能让我失望的地方. 有什么建议?有谁知道更优雅的方式来完成这个?任何想法/建议都非常感谢. 解决方法
我做了类似的事情,只是用过
<%= link_to pg_search_document.searchable.title,pg_search_document.searchable %> 让Rails动态创建关联记录的路径. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |