rails中的重定向问题

时间:2012-09-14 12:51:29

标签: ruby-on-rails-3.1

我在用户登录后完成了对dashboard_path的重定向。我相信在该控制器中应该有一个名为dashboard的操作。但是,当我在控制器中删除该仪表板操作时,它仍能正常工作。这怎么可能。?请帮忙。我很困惑。

在会话控制器中

def create
  admin=Admin.find_by_email(params[:session][:email].downcase)
  user=User.find_by_email(params[:session][:email].downcase)

  if user && user.authenticate(params[:session][:password])
    redirect_to dashboard_path
  else
    redirect_to(admins_index_path(:current_admin=>admin))
  end
end

在用户控制器中(如果我在用户控制器中删除了此操作,它仍会重定向到仪表板页面..怎么样??)

def dashboard
end

的routes.rb

match '/dashboard' => 'admins/users#dashboard'

1 个答案:

答案 0 :(得分:0)

它被称为'约定优于配置',而Rails有很多。如果您未在控制器操作中指定任何renderredirect_to,则Rail的默认行为是重定向到与该操作同名的视图。

您应该阅读Action Controller Overview以获取有关此主题的更多信息(它是Rails guides的一部分,并包含有关Rails行为的大量信息)。