Class: Redactor3Rails::FilesController

Inherits:
Object
  • Object
show all
Includes:
ActionView::Helpers::NumberHelper
Defined in:
app/controller/redactor3_rails/files_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'app/controller/redactor3_rails/files_controller.rb', line 6

def create
  json = {}
  error = nil
  params[:file].each_with_index do |file, i|
    @file = Redactor3Rails.file_model.new
    @file.data = Redactor3Rails::Http.normalize_param(file, request)
    if @file.has_attribute?(:"#{Redactor3Rails.devise_user_key}")
      @file.send("#{Redactor3Rails.devise_user}=", redactor3_current_user)
      @file.assetable = redactor3_current_user
    end
    @file.custom_file_name = file.original_filename

    if @file.save
      json["file-#{i}"] = { id: @file.id, url: @file.url, name: @file.custom_file_name || @file.filename, size: number_to_human_size(@file.data_file_size) }
    else
      error = @file.errors
    end
  end
  if json.empty?
    json = { error: true, message: error.full_messages.to_sentence }
  end
  render json: json
end

#indexObject



30
31
32
33
34
35
36
37
38
39
40
# File 'app/controller/redactor3_rails/files_controller.rb', line 30

def index
  json = Redactor3Rails.file_model.where(user_id: redactor3_current_user.id).order('id DESC').map do |file|
    {
      title: file.custom_file_name,
      size: number_to_human_size(file.data_file_size),
      url: file.url,
      id: file.id
    }
  end
  render json: json
end