diff --git a/app/controllers/admins/page_themes_controller.rb b/app/controllers/admins/page_themes_controller.rb index 98709b4f7..5e211ab55 100644 --- a/app/controllers/admins/page_themes_controller.rb +++ b/app/controllers/admins/page_themes_controller.rb @@ -18,7 +18,7 @@ class Admins::PageThemesController < Admins::BaseController end def create - @page_theme = PageTheme.new update_params + @page_theme = PageTheme.new theme_params if @page_theme.save save_image_file(params[:image]) redirect_to admins_page_themes_path @@ -44,9 +44,15 @@ class Admins::PageThemesController < Admins::BaseController end def update - @page_theme.update(update_params) - flash[:success] = '保存成功' - render 'edit' + @page_theme.attributes = theme_params + if @page_theme.save + save_image_file(params[:image]) + redirect_to admins_page_themes_path + flash[:success] = "更新成功" + else + redirect_to admins_page_themes_path + flash[:danger] = "更新失败" + end end private @@ -54,7 +60,7 @@ class Admins::PageThemesController < Admins::BaseController @page_theme = PageTheme.find(params[:id]) end - def update_params + def theme_params params.require(:page_theme).permit(:language_frame, :name, :cate, :image_url, :clone_url) end diff --git a/app/controllers/site_pages_controller.rb b/app/controllers/site_pages_controller.rb index 4d6e6510c..4dda0ca0e 100644 --- a/app/controllers/site_pages_controller.rb +++ b/app/controllers/site_pages_controller.rb @@ -56,8 +56,7 @@ class SitePagesController < ApplicationController def themes # data = YAML.load_file(Rails.root.join('config/admins', 'page_themes.yml')) # render_ok({themes:data[theme_params.downcase]}) - data = PageTheme.where(language_frame:theme_params).order(order_index: :asc) - render_ok ({themes:data}) + @themes = PageTheme.where(language_frame:theme_params).order(order_index: :asc) end private diff --git a/app/models/page_theme.rb b/app/models/page_theme.rb index 7128edfa3..d4fa18327 100644 --- a/app/models/page_theme.rb +++ b/app/models/page_theme.rb @@ -18,11 +18,11 @@ class PageTheme < ApplicationRecord def image - image_url('image') + page_image_url('image') end private - def image_url(type) + def page_image_url(type) return nil unless Util::FileManage.exists?(self, type) Util::FileManage.source_disk_file_url(self, type) end diff --git a/app/views/admins/page_themes/_form_modal.html.erb b/app/views/admins/page_themes/_form_modal.html.erb index ad3ea7592..eb3dd6742 100644 --- a/app/views/admins/page_themes/_form_modal.html.erb +++ b/app/views/admins/page_themes/_form_modal.html.erb @@ -7,7 +7,7 @@
- <%= simple_form_for(@page_theme, url: admins_page_themes_path(@page_theme)) do |p| %> + <%= form_for @page_theme, url: {controller: "page_themes", action: "#{type}"}, html: { enctype: 'multipart/form-data' } do |p| %>