-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathcolor_schemes_controller.rb
More file actions
35 lines (30 loc) · 1.07 KB
/
color_schemes_controller.rb
File metadata and controls
35 lines (30 loc) · 1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
class Settings::ColorSchemesController < ApplicationController
def show
@color_scheme = find_color_scheme
respond_to do |format|
format.html {
render ColorSchemes::ShowView.new(
settings: Settings.new(color_scheme: @color_scheme),
preview_color_scheme: preview_color_scheme,
session_color_scheme: session_color_scheme,
default_color_scheme: default_color_scheme
)
}
format.css {
render ColorSchemes::Css.new(color_scheme: @color_scheme), layout: false
}
end
end
def update
update_params = params[:settings] ? params.require(:settings).permit(:color_scheme_id) : {}
color_scheme_id = update_params[:color_scheme_id]
@color_scheme = ColorScheme.find(color_scheme_id)
redirect_to settings_color_scheme_path unless @color_scheme.present?
if @color_scheme == ColorScheme.cached_default
session.delete(:color_scheme_id)
else
session[:color_scheme_id] = @color_scheme.id
end
redirect_to settings_color_scheme_path, status: :see_other
end
end