在Rails 6中,可以使用ActiveStorage来处理文件上传和存储,即使不使用ActiveRecord作为主要的ORM。
以下是使用ActiveStorage的Rails 6的解决方法:
gem 'activestorage'
$ bundle install
$ rails active_storage:install
$ rails db:migrate
has_one_attached
或has_many_attached
方法来添加文件附件:class User < ApplicationRecord
has_one_attached :avatar
end
file_field
方法来创建文件上传字段:<%= form_with(model: @user) do |form| %>
<%= form.file_field :avatar %>
<%= form.submit %>
<% end %>
attach
方法来处理文件上传:class UsersController < ApplicationController
def create
@user = User.new(user_params)
if @user.save
redirect_to @user
else
render 'new'
end
end
private
def user_params
params.require(:user).permit(:avatar)
end
end
url
方法来获取文件的URL:<%= image_tag @user.avatar.url if @user.avatar.attached? %>
这样就可以在不使用ActiveRecord的情况下使用ActiveStorage来处理文件上传和存储了。请根据实际需求进行适当修改和调整。