Rails 4.2.2request.url дает мне example.com/login вместо example.com/feed
Если я щелкаю по ссылке:
<%= link_to "Feed", feed_path, data: {turbolinks: false } %>
или вставьте URL
www.example.com/feed
before_action
в моем UsersController
перенаправляет к login_url
Application Controlller
def logged_in_user
unless logged_in?
store_location
flash[:danger] = "Please log in."
redirect_to login_url
end
end
module SessionsHelper
def store_location
session[:forwarding_url] = request.url if request.get?
end
def redirect_or
redirect_to(session[:forwarding_url] || root_url)
session.delete(:forwarding_url)
end
После успешного входа в систему метод redirect_or
перенаправляет меня обратно в login_url.
request.url
в настоящее время сохраняется как www.example.com/login
ли ваш login_url вызов store_location тоже? –
Нет, это не так. –
Похоже, вы используете код из RailsTutorial. Итак, ваш 'SessionController' должен выглядеть как [this?] (Https://github.com/railstutorial/sample_app_rails_4/blob/master/app/controllers/sessions_controller.rb#L10). Использует ли ваша строка 10 'redirect_or' (это' redirect_back_or') в связанном примере? Если нет, это должно стать причиной вашей проблемы. – BigRon