我正在尝试在rails中创建一个网站,其中100%的内容都在认证障碍之后。
有没有办法让图片网址也在导轨中的身份验证墙后面? 例如www.foo.com/bar.jpg也会要求您在显示图像之前登录
答案 0 :(得分:1)
解决了它:
伪代码:
routes.rb中:
get '/image/:id' => 'image_container#show_image'
image containers _controller.rb:
def show_image
image = ImageContainer.find(params[:id])
if #auth logic goes here
send_file(image.path, type: image.type)
else
redirect_to "/no_picture_for_you"
end
end
image_container.rb:
has_attached_file :image,
path: ":rails_root/notpublic/images/:id/:basename_:style.:extension"
def url
"/image/#{self.id}"
end