У меня проблема при попытке увидеть файл .pdf (созданный с помощью PDFKit) без проверки подлинности, просто идущий непосредственно с данного URL host/.../profile.pdf
.Меня, как и следовало ожидать, просят ввести учетные данные, как показано на изображении (не в пути users / sign_in):
Я ввожу правильные учетные данные, поле отображаетсявверх и вниз и снова просит учетные данные.Может показаться, что пользователь или пароль неверны, но это не так.Соответствующий код от контроллера находится здесь:
class Entrepreneur::ProfilesController < ApplicationController
before_filter :authenticate_user!
def show
respond_to do |format|
format.pdf do
html = render_to_string(:layout => false , :action => "show.html.haml")
kit = PDFKit.new(html)
send_data(kit.to_pdf, :filename => "name.pdf", :type => 'application/pdf')
end
end
end
end
Ничего особенного, как вы можете видеть.Я попытался удалить действие show из фильтра (before_filter :authenticate_user!, :except => [:show]
) и написать собственный фильтр для перенаправления неаутентифицированных пользователей в new_session_path, но при этом я не знаю, как после регистрации перенаправить пользователя в pdf-шоу.
Короче говоря, devise запрашивает мои учетные данные при доступе к PDF-шоу и не принимает их.Как я могу получить пользователя на страницу sign_in и перенаправить обратно в pdf после подписания?
Я использую Rails 3.0.7, Ruby 1.8.7 и Devise 1.1.5.
Спасибо!