Add active_language controller and cookie storage

This commit is contained in:
maddiebaka
2023-10-27 15:24:48 -04:00
parent c2891a66f8
commit 3ba4a49a26
8 changed files with 89 additions and 1 deletions

View File

@@ -0,0 +1,10 @@
class ActiveLanguageController < ApplicationController
def set_active_language
if Language.find_by_id(params[:active_language_id]) != nil
cookies[:active_language_id] = params[:active_language_id]
else
redirect_to root_path, status: :unprocessable_entity
end
end
end

View File

@@ -0,0 +1,8 @@
module ActiveLanguageHelper
def active_language_select_tag
languages = Language.all.to_a.delete_if {|language| language.name == "English" }
options = options_from_collection_for_select(languages, "id", "name", cookies[:active_language_id] || 1)
select_tag "active_language_id", options
end
end

View File

@@ -18,6 +18,11 @@
<% if user_signed_in? %>
<pre style="display: inline;">|</pre>
<%= link_to "Languages", admin_languages_path %>
<pre style="display: inline;">|</pre>
<%= form_tag '/set_active_language', class: "d-inline" do %>
<%= active_language_select_tag %>
<%= submit_tag "Switch Language" %>
<% end %>
<% end %>
</div>
<div class="ms-auto p-2">