Rails设计after_sign_in_path_for(资源)

时间:2016-01-05 11:15:01

标签: ruby-on-rails ruby ruby-on-rails-3 devise

我有两个设计模型,即usertechnician。我希望technicians在登录时被定向到特定页面,所以我根据设计教程实现它并将其放在应用程序控制器中

def after_sign_in_path_for(resource)
  case resource.class
  when technician
    new_services_path  
  when user
    root_path
  end
end

但是我收到了这个错误。 [![在此输入图片说明] [1]] [1] 我在这里错过了什么?

3 个答案:

答案 0 :(得分:3)

您需要更新switchresource.class将返回资源的类(UserTechnician)。因此,您修改方法如下:

def after_sign_in_path_for(resource)
  case resource.class
  when Technician
    new_services_path  
  when User
    root_path
  end
end

答案 1 :(得分:1)

使用大写字母编写类:for(i in nrow(X))for(i in 1:nrow(X))。以下代码应该有效:

Technician

答案 2 :(得分:0)

你可以试试这个。

def after_sign_in_path_for(resource)
  case resource.class.name
  when "Technician"
    new_services_path  
  when "User"
    root_path
  end
end