You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
756 B
23 lines
756 B
5 years ago
|
json.shixuns_count @results.total_count
|
||
|
|
||
|
json.shixun_list do
|
||
|
json.array! @results.with_highlights(multiple: true) do |obj, highlights|
|
||
|
puts obj
|
||
|
json.merge! obj.to_searchable_json
|
||
|
json.challenge_names obj.challenges.pluck(:subject)
|
||
|
|
||
|
# 去除开头标点符号
|
||
|
reg = /^[,。?:;‘’!“”—……、]/
|
||
|
highlights[:description]&.first&.sub!(reg, '')
|
||
|
highlights[:content]&.first&.sub!(reg, '')
|
||
|
|
||
|
json.title highlights.delete(:name)&.join('...') || obj.searchable_title
|
||
|
json.description highlights[:description]&.join('...') || obj.description
|
||
|
|
||
|
json.content highlights
|
||
|
json.level level_to_s(obj.trainee)
|
||
|
json.subjects obj.subjects.uniq do |subject|
|
||
|
json.(subject, :id, :name)
|
||
|
end
|
||
|
end
|
||
|
end
|