1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
Ruby on Rails
Find a file
David Heinemeier Hansson ea429eaa14 Implied well enough
2017-07-01 12:10:22 +02:00
lib Implied well enough 2017-07-01 12:10:22 +02:00
test Test DiskSite 2017-07-01 12:06:16 +02:00
.gitignore Ignore byebug history 2017-07-01 12:09:54 +02:00
activefile.gemspec Switch to double quotes for Rails linter 2017-07-01 12:05:32 +02:00
Gemfile First sketching 2017-06-30 19:12:58 +02:00
Gemfile.lock Actual dependencies 2017-07-01 12:05:42 +02:00
MIT-LICENSE First sketching 2017-06-30 19:12:58 +02:00
Rakefile First sketching 2017-06-30 19:12:58 +02:00
README.md First sketching 2017-06-30 19:12:58 +02:00

Active File

...

Example

class Person < ApplicationRecord has_one :avatar end

class Avatar < ApplicationRecord belongs_to :person belongs_to :image, class_name: 'ActiveFile::Blob'

has_file :image end

avatar.image.url(expires_in: 5.minutes)

class ActiveFile::DownloadsController < ActionController::Base def show head :ok, ActiveFile::Blob.locate(params[:id]).download_headers end end

class AvatarsController < ApplicationController def create # @avatar = Avatar.create
# image: ActiveFile::Blob.save!(file_name: params.require(:name), content_type: request.content_type, data: request.body) @avatar = Avatar.create! image: Avatar.image.extract_from(request) end end

class ProfilesController < ApplicationController def update @person.update! avatar: @person.avatar.update!(image: ) end end

License

Google Sign-In for Rails is released under the MIT License.