我的应用有商店型号
# Table name: shops
#
# id :integer not null, primary key
# name :string
# address :string
目前,我已经使用以下代码编写了一个代码来搜索商店的ID,名称和地址(完美无缺):
ransacker :search_name, formatter: proc { |v| v.mb_chars.downcase.to_s } do |parent|
Arel::Nodes::NamedFunction.new('LOWER',
[Arel::Nodes::NamedFunction.new('concat_ws',
[Arel::Nodes.build_quoted(' '), parent.table[:name], parent.table[:address], parent.table[:id]])])
end
商店的相应视图如下所示:
= search_form_for @search, remote: true do |f|
.input-group
= f.text_field :search_name_cont
= button_tag(type: 'submit')
控制器:
def index
@search = Shop.search(params[:q])
@shops = @search.result.page(params[:page])
end
商店模型也有很多标签。
使用搜索表单时,我希望能够找到一个地址为“伦敦,罗素广场32”的商店,并通过搜索“london shoes”找到名称为“shoes”的标签。
知道如何实现这一目标吗?谢谢!