Add active_language controller and cookie storage
This commit is contained in:
10
app/controllers/active_language_controller.rb
Normal file
10
app/controllers/active_language_controller.rb
Normal 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
|
8
app/helpers/active_language_helper.rb
Normal file
8
app/helpers/active_language_helper.rb
Normal 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
|
@@ -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">
|
||||
|
Reference in New Issue
Block a user