在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'。
希望以上示例对你有帮助!