добавить скрытый ввод в вашу страницу входа, для меня это было app / views / devise / session / new.html.haml
, а также некоторый javascript для заполнения ввода:
Я назвал вход tab_hash
= simple_form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f|
= f.input :login, :hint => true, :required => true
= f.input :password, :as => :password, :hint => false, :required => true
= f.input :tab_hash, :as => :hidden
%div.text-right
= f.button :submit, t("formtastic.actions.sign_in"), class: 'btn-primary'
.text-center
%p
= render :partial => "devise/shared/links"
:javascript
$(document).ready( function(){
$("#user_tab_hash").val(window.location.hash);
});
add attr_accessor :tab_hash
для модели User
в app / controllers / application_controller.rb
add
def after_sign_in_path_for(resource)
stored = stored_location_for(resource)
if stored.present?
stored += params['user']['tab_hash'] # refs #3485 after signing in the tab was lost
end
stored || root_url
end