From 7e691e6927d2efb084b98df4728f480791418814 Mon Sep 17 00:00:00 2001 From: rulingcom Date: Fri, 13 Mar 2026 12:12:29 +0800 Subject: [PATCH] Change file-date set --- app/controllers/admin/archive_files_controller.rb | 2 +- app/models/archive_file.rb | 9 ++++++++- app/views/admin/archive_files/_form_file.html.erb | 15 +++++++++++---- app/views/admin/archive_files/_index.html.erb | 1 - 4 files changed, 20 insertions(+), 7 deletions(-) diff --git a/app/controllers/admin/archive_files_controller.rb b/app/controllers/admin/archive_files_controller.rb index 69db878..f19d18e 100644 --- a/app/controllers/admin/archive_files_controller.rb +++ b/app/controllers/admin/archive_files_controller.rb @@ -37,7 +37,7 @@ class Admin::ArchiveFilesController < OrbitAdminController end end @choose = ArchiveSortOrder.first['sort_order'] - @table_fields = [:status, :category, :title, :updated_at,:last_modified,:created_at,"archive.downloaded_times"] + @table_fields = [:status, :category, :title, :updated_at,:last_modified,"archive.downloaded_times"] @categories = @module_app.categories.enabled @tags = @module_app.tags @filter_fields = filter_fields(@categories, @tags) diff --git a/app/models/archive_file.rb b/app/models/archive_file.rb index e52083f..601654f 100644 --- a/app/models/archive_file.rb +++ b/app/models/archive_file.rb @@ -292,13 +292,20 @@ class ArchiveFile title = (file.file_title.blank? ? File.basename(file.file.path) : file.file_title) rescue "" extension = file.file.file.extension.downcase rescue "" serial_number += 1 + real_file_time = "" + if file.file.present? && file.file.path && File.exist?(file.file.path) + real_file_time = File.mtime(file.file.path).localtime.strftime("%Y-%m-%d %H:%M") + else + # 如果找不到實體檔案,才回退到資料庫時間(或留空) + real_file_time = file.created_at.localtime.strftime("%Y-%m-%d %H:%M") rescue "" + end files << { "file-name" => title, "file-type" => extension, "file-url" => (file.file.present? ? "/xhr/archive/download?file=#{file.id}" : 'javascript:void(0)'), "target" => "_blank", "serial_number" => serial_number, - "file-date" => (file.created_at.localtime.strftime("%Y-%m-%d") rescue "") + "file-date" => real_file_time } end end diff --git a/app/views/admin/archive_files/_form_file.html.erb b/app/views/admin/archive_files/_form_file.html.erb index f35022d..5a7dc66 100644 --- a/app/views/admin/archive_files/_form_file.html.erb +++ b/app/views/admin/archive_files/_form_file.html.erb @@ -7,11 +7,18 @@ <%= t(:no_file) %> <% else %> <%= link_to content_tag(:i) + form_file.file_identifier, form_file.file.url, {:class => 'file-link file-type', :target => '_blank', :title => form_file.file_identifier} %> - <% # 建議改放這裡:直接跟在檔案連結後面,確保是已存在檔案才顯示 %> - + <% # 修正:這裡改為讀取實體檔案時間 %> + <% + real_time = "" + if form_file.file.present? && form_file.file.path && File.exist?(form_file.file.path) + real_time = File.mtime(form_file.file.path).localtime.strftime("%Y-%m-%d %H:%M") + else + real_time = form_file.created_at.localtime.strftime("%Y-%m-%d %H:%M") rescue "N/A" + end + %> + - <%= t('file.uploaded_at') rescue 'Uploaded at' %>: - <%= form_file.created_at.localtime.strftime("%Y-%m-%d %H:%M") rescue "N/A" %> + <%= t(:file_mtime) rescue '檔案時間' %>: <%= real_time %> <% end %> <% end %> diff --git a/app/views/admin/archive_files/_index.html.erb b/app/views/admin/archive_files/_index.html.erb index f083984..4f51602 100644 --- a/app/views/admin/archive_files/_index.html.erb +++ b/app/views/admin/archive_files/_index.html.erb @@ -131,7 +131,6 @@ <%= format_value archive.updated_at rescue nil %> <%= User.find(archive.update_user_id).user_name rescue nil %> - <%= format_value archive.created_at rescue nil %> <% download_total = 0 archive.archive_file_multiples.each do |afm| download_total = download_total + afm.download_count