Ruby on rails 获取正确的当前页面?在Rails管线中渲染匹配时
使用Rails 3.2。我正在使用Ruby on rails 获取正确的当前页面?在Rails管线中渲染匹配时,ruby-on-rails,Ruby On Rails,使用Rails 3.2。我正在使用current\u page?来确定当前页面,以便将活动的添加到相应的导航链接 当登录失败时,它返回到用户会话#新建,但是当前页面不再识别登录路径,因此不会将类活动添加到链接中 我无法使用redirect\u to,因为我想捕获控制器中的错误 如何获取当前页面?以识别新的用户会话 下面是我的代码: # routes.rb # Following 2 lines ensure that the login url is maintained as "login"
current\u page?
来确定当前页面,以便将活动的
添加到相应的导航链接
当登录失败时,它返回到用户会话#新建
,但是当前页面
不再识别登录路径
,因此不会将类活动
添加到链接中
我无法使用redirect\u to
,因为我想捕获控制器中的错误
如何获取当前页面?以识别新的用户会话
下面是我的代码:
# routes.rb
# Following 2 lines ensure that the login url is maintained as "login" even there are errors after submitting the form
match 'login' => 'user_sessions#new', :as => :login, :via => :get
match 'login' => 'user_sessions#create', :as => :login, :via => :post
# user_sessions_controller.rb
class UserSessionsController < ApplicationController
def create
@user_session = UserSession.new(params[:user_session])
if @user_session.save
flash[:success] = "Login successful!"
redirect_back_or_default profile_account_url
else
render 'new'
end
end
end
# _sub_nav.html.erb
<ul class="nav nav-tabs">
<li<%= " class=active" if current_page?(login_path) %>>
<a href="<%= login_path %>">Login</a>
</li>
<li<%= " class=active" if current_page?(signup_path) %>>
<a href="<%= signup_path %>">Signup</a>
</li>
</ul>
#routes.rb
#下面两行确保登录url保持为“login”,即使在提交表单后出现错误
匹配'login'=>'user#u sessions#new',:as=>:login,:via=>:get
匹配“登录”=>“用户会话#创建”,:as=>:login,:via=>:post
#用户会话控制器.rb
类UserSessionController
我相信改变
到
“新建”)%%>
应该有用