Я пытаюсь заставить пользователя войти в систему после того, как он вызовет это действие обновления в моем контроллере статей (я пытаюсь работать с постепенным включением), но как только он войдет в систему, я хочу по-прежнему вызывать это действие вместо остановки.
def update
@article.attributes = params[:article]
@article.save
#store this article as a session variable
session[:pending_article] = @article.body
respond_with(@article, :location => article_url(@article))
end
Сейчас я использую before_filter для действия, которое требует от пользователя входа в систему
def require_user
unless current_user
store_location
flash[:notice] = "You must be logged in to access this page"
redirect_to login_url
return false
end
end
Однако я понимаю, что прежде чем фильтры останавливают исходное действие, как только они перенаправляют, обновление никогда не вызывается. По сути, я хочу, чтобы пользователь вошел в систему, чтобы сохранить статью, но я хочу сохранить его работу, поэтому я сохраняю тело статьи в переменной сеанса, которую я получаю позже. Есть ли лучший способ потребовать от пользователя входа в систему для какого-либо действия, но в любом случае вызвать его позже?