首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rails:用PG搜索过滤不起作用

Rails:用PG搜索过滤不起作用
EN

Stack Overflow用户
提问于 2020-04-03 06:29:56
回答 1查看 453关注 0票数 0

我目前正在Rails中构建一个在线库,其中包含不同子类别的书籍,然后是类别。换言之;

代码语言:javascript
运行
复制
Books belong to Subcategories
Subcategories belong to Categories

我使用PG_search作为搜索功能,下面是我搜索书籍的搜索方法,,它运行良好的

代码语言:javascript
运行
复制
pg_search_scope :search, 
                 against: [:name, :description, :author, :abstract],
                 associated_against: { category: [:name ], subcategory: [:name ] },
                 using: { tsearch: { prefix: true, dictionary: "english" } }

控制器的索引操作如下所示:

代码语言:javascript
运行
复制
def index
  if params[:query].present?
    @books = Book.search(params[:query])   
  else  
    @books= Book.all
  end
end

但是,当我试图在图书控制器的索引操作中按类别实现过滤器时:

代码语言:javascript
运行
复制
def index
  if params[:category].present? or params[:category][:id].present?
    @books = Category.find(params[:category][:id]).books.search(params[:query])   
  else  
    @books= Book.all
  end
end

我遇到了这个错误:

NilClass的

未定义方法‘[]’

以下是我的视图实现

代码语言:javascript
运行
复制
<div class="advanceSearch">
  <%= form_tag(books_path, method: :get) do %>
      <%= text_field_tag :query, params[:query], {placeholder: 'eg: Ruby', :class => 'searchForm'} %>
      <%= collection_select :category, :id, Category.all.order('name ASC'), :id, :name,{include_blank: 'Select Category'}, { :class => 'form-control'} %>
    <button type="submit">
      Search
      <%= image_tag("searchIcon.svg", :alt => "search", :class => "") %>
    </button>
  <% end %>
</div>

我将感激任何形式的帮助,这将使我能够按类别和子类别过滤书籍,如果可能的话,。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-04-03 08:11:23

您的状态是双if (if if),我相信您希望使用and而不是or

代码语言:javascript
运行
复制
def index
  if params[:category].present? and params[:category][:id].present?
    @books = Category.find(params[:category][:id]).books.search(params[:query])   
  else  
    @books= Book.all
  end
end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61006220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档