Я использую sunspot solr в своем приложении rails для обработки поиска, и я создал фасет, чтобы можно было искать ценовые диапазоны. Как создать ярлыки для использования значений строк в представлениях. Этот article here предлагает использовать условные операторы, но я не уверен, как бы это сделать.Ярлыки для диапазонов границ sunspot solr
Так, например, вместо значений, возникающих как:
0.0..75.0
75.0..150.0
150.0..225.0
225.0..300.0
и т.д .. Я хочу, чтобы отобразить их как:
$0 - $75
$75 - $150
$150 - $225
$225 - $300
Может кто-нибудь помочь мне с этим? Благодарю.
/models/listing.rb
searchable :auto_index => true, :auto_remove => true do
text :title, :boost => 5
text :marker_list, :boost => 2
string :marker_list, :multiple => true, :stored => true
double :price
end
/controllers/listings_controller.rb
def index
@listings = Listing.order('created_at desc').page(params[:page]).per_page(60)
@search = Listing.solr_search do
fulltext params[:listings]
facet :price, :range => 0..2000, :range_interval => 75
with(:price, Range.new(*params[:price_range].split("..").map(&:to_i))) if params[:price_range].present?
end
@results = Listing.where(id: @search.results.map(&:id)).page(params[:page]).per_page(60)
end
/views/listings/index.html.erb
<% for row in @search.facet(:price).rows %>
<span class="bprice">
<%= link_to row.value, :price_range => row.value, :search => params[:listings] %>
</span>
<% end %>
Это дает мне эту ошибку 'неопределенный метод 'GSUB' для 0.0..75.0: Range' – iamdhunt
Затем преобразовать его нанизывать. См. Мой обновленный ответ. –
Да, это было так. Благодаря! – iamdhunt