在Rails中使用Active Storage时,可以使用variant
方法来获取模型的变体URL。以下是一个示例:
class User < ApplicationRecord
has_one_attached :avatar
end
在上面的示例中,User
模型有一个附加的avatar
。
要获取变体URL,可以使用variant
方法。以下是一个获取缩略图变体URL的示例:
user = User.find(params[:id])
avatar_url = user.avatar.variant(resize: '100x100').processed.service_url
在上面的示例中,resize: '100x100'
指定了缩略图的大小。processed
方法用于确保变体已经处理完成。service_url
方法用于获取变体的URL。
如果想要获取其他类型的变体,可以使用其他的变体选项,如resize_to_limit
、resize_to_fill
等。可以根据自己的需求来选择合适的变体选项。
请注意,以上示例中的URL是一个临时URL,有效期有限。如果需要永久URL,可以将service_url
方法的参数设置为disposition: 'attachment'
。
希望以上示例对你有帮助!