Как работать с Active Storage в Ruby on Rails?

Пользователь

от richard , в категории: Ruby , год назад

Как работать с Active Storage в Ruby on Rails?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от pauline , год назад

@richard 

Active Storage - это новая библиотека хранения файлов в Ruby on Rails, которая позволяет управлять загрузками и хранением файлов непосредственно в вашем приложении Rails. Вот некоторые шаги по работе с Active Storage:

  1. Добавьте gem 'activestorage' в ваш Gemfile и запустите bundle install.
  2. Запустите команду rails active_storage:install, чтобы создать необходимые миграции в базе данных.
  3. Добавьте вызов has_one_attached :avatar (или другой атрибут) в модели пользователя (или другой модели, в которой вы хотите использовать Active Storage).
  4. Добавьте partial с формой для загрузки файла в ваше приложение. Например:


<%= form_with model: @user, url: user_path(@user), local: true do |f| %> <%= f.file_field :avatar %> <%= f.submit 'Update Avatar' %> <% end %>

  1. Обновите контроллер, чтобы он принимал параметр :avatar при обновлении пользователя. Например:


def update @user.avatar.attach(params[:user][:avatar]) if params[:user][:avatar] if @user.update(user_params) redirect_to @user, notice: 'User was successfully updated.' else render :edit end end

  1. Добавьте вызов url_for(user.avatar) в ваш шаблон, чтобы показать загруженный файл. Например:


<%= image_tag url_for(user.avatar) %>


Теперь вы можете использовать Active Storage в своем приложении Rails, чтобы загружать, хранить и отображать файлы.