diff --git a/app/assets/javascripts/search.js b/app/assets/javascripts/search.js index 66b158f39..ac788bfd1 100644 --- a/app/assets/javascripts/search.js +++ b/app/assets/javascripts/search.js @@ -1,12 +1,16 @@ -$(document.body).ready(function() { - $('#search_whole_word').click(function() { - if ($(this).prop('checked') === true) { - $('#search_whole_phrase').prop('checked', false); - } +(function() { + 'use strict'; + + $(document.body).ready(function() { + $('#search_whole_word').click(function() { + if ($(this).prop('checked') === true) { + $('#search_whole_phrase').prop('checked', false); + } + }); + $('#search_whole_phrase').click(function() { + if ($(this).prop('checked') === true) { + $('#search_whole_word').prop('checked', false); + } + }); }); - $('#search_whole_phrase').click(function() { - if ($(this).prop('checked') === true) { - $('#search_whole_word').prop('checked', false); - } - }); -}); +})(); diff --git a/app/controllers/search_controller.rb b/app/controllers/search_controller.rb index 56c3e5ecb..e9fb7cde2 100644 --- a/app/controllers/search_controller.rb +++ b/app/controllers/search_controller.rb @@ -39,7 +39,7 @@ class SearchController < ApplicationController private def load_vars - query = params[:q].strip || '' + query = (params.fetch(:q) { '' }).strip @search_category = params[:category] || '' @search_category = @search_category.to_sym @search_page = params[:page].to_i || 1 diff --git a/app/models/asset.rb b/app/models/asset.rb index 20a340a9f..ffd2b0432 100644 --- a/app/models/asset.rb +++ b/app/models/asset.rb @@ -182,7 +182,8 @@ class Asset < ActiveRecord::Base .joins('LEFT JOIN asset_text_data ON ' \ ' assets.id = asset_text_data.asset_id') .select('assets.*') - .select("ts_headline(data, to_tsquery('" + s_query + + .select("ts_headline(data, to_tsquery('" + + sanitize_sql_for_conditions(s_query) + "'), 'StartSel=, StopSel=') headline") .where('assets.id IN (?)', ids) end