如何解决使用pg_search Gem进行Rails API搜索
我有一个后端带有Rails API的应用程序-我正在尝试使用pg_search
(首次使用gem)来实现搜索功能。我一直在使用几个不同的教程作为参考,但是API端点返回一个空数组。
当我访问/api/v1/search/nancy
时,它会显示一个空数组[]
-即使我有一个以Nancy
作为:name_first
字段的字符。
我的大部分代码都在使用本教程,尽管我似乎并不掌握所有presenters
部分,但这可能是一个问题。 https://devblast.com/r/master-ruby-web-apis/full-text-search
routes.rb
scope 'api' do
scope 'v1' do
resources :characters
resources :roles
resources :armors
get '/search/:text',to: 'search#index'
end
end
search_controller.rb
class SearchController < ApplicationController
def index
@text = params[:text]
scope = PgSearch.multisearch(@text).includes(:searchable)
render json: scope.to_json
end
end
character.rb
class Character < ApplicationRecord
include PgSearch
multisearchable against: :name_first
belongs_to :role
belongs_to :armor
...
end
role.rb
class Role < ApplicationRecord
include PgSearch
multisearchable against: :name
has_many :character
accepts_nested_attributes_for :character,allow_destroy: true
end
armor.rb
class Armor < ApplicationRecord
include PgSearch
multisearchable against: :name
has_many :character
accepts_nested_attributes_for :character,allow_destroy: true
end
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。