要使用Active Storage进行部分工作的简单图像上传,你需要按照以下步骤进行设置:
rails active_storage:install
rails generate migration AddAvatarToUsers avatar:attachement
然后运行迁移:
rails db:migrate
file_field
方法来创建一个文件上传字段。例如,如果你的表单是一个简单的用户注册表单,你可以在表单中添加以下代码:<%= form.file_field :avatar %>
private
def user_params
params.require(:user).permit(:avatar)
end
attach
方法将上传的图像附加到你的模型实例上。例如,如果你的控制器是UsersController,你可以在创建或更新动作中添加以下代码:def create
@user = User.new(user_params)
if @user.save
redirect_to @user
else
render 'new'
end
end
def update
if @user.update(user_params)
redirect_to @user
else
render 'edit'
end
end
这样,你就可以使用Active Storage来进行部分工作的简单图像上传了。当用户提交表单时,上传的图像将保存在Active Storage的默认存储位置,并与相应的模型实例关联。你可以通过访问模型实例的attachment方法来访问上传的图像。
请注意,上述代码示例是基于Rails 5.2及更高版本和默认配置的Active Storage。如果你的应用版本不同,或者你有自定义配置,请根据你的实际情况进行相应的调整。