diff --git a/app/models/entry.rb b/app/models/entry.rb index a098f38..ad8449b 100644 --- a/app/models/entry.rb +++ b/app/models/entry.rb @@ -29,7 +29,7 @@ class Entry < ApplicationRecord return none unless valid_lang?(language_code) return all if prefix.blank? - where("#{language_code} LIKE ?", "#{sanitize_sql_like(prefix)}%") + where(arel_table[language_code].matches("#{sanitize_sql_like(prefix)}%")) end def self.alphabetical_for(language_code) diff --git a/app/views/entries/_filters.html.erb b/app/views/entries/_filters.html.erb index 8956994..570e5a2 100644 --- a/app/views/entries/_filters.html.erb +++ b/app/views/entries/_filters.html.erb @@ -4,12 +4,12 @@ <%= link_to "All", entries_path(all_category_params), class: "px-4 py-1.5 rounded-full #{@category.blank? ? 'bg-indigo-100 text-indigo-700' : 'bg-white border border-slate-200 text-slate-600 hover:border-indigo-300'} text-xs font-bold uppercase tracking-wider", - data: { turbo_frame: "entries_results" } %> + data: { turbo_stream: true } %> <% Entry.categories.keys.each do |category_name| %> <%= link_to category_name.tr('_', ' ').capitalize, entries_path(base_params.merge(category: category_name)), class: "px-4 py-1.5 rounded-full #{@category == category_name ? 'bg-indigo-100 text-indigo-700' : 'bg-white border border-slate-200 text-slate-600 hover:border-indigo-300'} text-xs font-bold uppercase tracking-wider", - data: { turbo_frame: "entries_results" } %> + data: { turbo_stream: true } %> <% end %> @@ -18,12 +18,12 @@ <%= link_to "All Languages", entries_path(all_language_params), class: "px-3 py-1.5 rounded-full #{@language_code.blank? ? 'bg-slate-900 text-white' : 'bg-white border border-slate-200 text-slate-600 hover:border-slate-300'} text-xs font-semibold uppercase tracking-wider", - data: { turbo_frame: "entries_results" } %> + data: { turbo_stream: true } %> <% @supported_languages.each do |language| %> <%= link_to "#{language.name} (#{language.code.upcase})", entries_path(all_language_params.merge(language: language.code)), class: "px-3 py-1.5 rounded-full #{@language_code == language.code ? 'bg-slate-900 text-white' : 'bg-white border border-slate-200 text-slate-600 hover:border-slate-300'} text-xs font-semibold uppercase tracking-wider", - data: { turbo_frame: "entries_results" } %> + data: { turbo_stream: true } %> <% end %> @@ -33,12 +33,12 @@ <%= link_to "All", entries_path(alphabet_params), class: "px-2.5 py-1 rounded-md #{@starts_with.blank? ? 'bg-indigo-600 text-white' : 'bg-white border border-slate-200 text-slate-600 hover:border-indigo-300'}", - data: { turbo_frame: "entries_results" } %> + data: { turbo_stream: true } %> <% alphabet_letters(@language_code).each do |letter| %> <%= link_to letter, entries_path(alphabet_params.merge(starts_with: letter)), class: "px-2.5 py-1 rounded-md #{@starts_with == letter ? 'bg-indigo-600 text-white' : 'bg-white border border-slate-200 text-slate-600 hover:border-indigo-300'}", - data: { turbo_frame: "entries_results" } %> + data: { turbo_stream: true } %> <% end %> <% end %> diff --git a/app/views/entries/_results.html.erb b/app/views/entries/_results.html.erb index ba929c3..3b29815 100644 --- a/app/views/entries/_results.html.erb +++ b/app/views/entries/_results.html.erb @@ -107,10 +107,10 @@ <% pagination_params = { q: @query.presence, category: @category.presence, language: @language_code.presence, starts_with: @starts_with.presence }.compact %> <%= link_to "Previous", previous_page ? entries_path(pagination_params.merge(page: previous_page)) : "#", class: "px-3 py-1.5 rounded-md border border-slate-200 #{previous_page ? 'hover:border-indigo-300' : 'text-slate-300 cursor-not-allowed'}", - data: { turbo_frame: "entries_results" } %> + data: { turbo_stream: true } %> <%= link_to "Next", next_page ? entries_path(pagination_params.merge(page: next_page)) : "#", class: "px-3 py-1.5 rounded-md border border-slate-200 #{next_page ? 'hover:border-indigo-300' : 'text-slate-300 cursor-not-allowed'}", - data: { turbo_frame: "entries_results" } %> + data: { turbo_stream: true } %> diff --git a/app/views/entries/index.html.erb b/app/views/entries/index.html.erb index c6e9ffa..8372b35 100644 --- a/app/views/entries/index.html.erb +++ b/app/views/entries/index.html.erb @@ -47,14 +47,14 @@ <% end %> - <%= turbo_frame_tag "entries_filters" do %> +