【发布时间】:2015-08-05 08:17:09
【问题描述】:
我想从控制器注销。我的控制器看起来像
def update
if @attendance.update_attribute(:logout_at, Time.now.localtime)
redirect_to signout_path and return
end
end
我的路线看起来像
devise_scope :employees do
get "signout" => "devise/sessions#destroy"
end
devise_for :employees, :controllers => { registrations: 'registrations' }
但它给出了错误
未知操作
找不到路径“/signout”的设计映射。这可能发生在 两个原因:1)您忘记将您的路线包装在范围块内。 例如: devise_scope :user do get "/some/route" => "some_devise_controller" end 2) 你正在测试一个设计控制器 绕过路由器。如果是这样,您可以明确告诉 Devise 哪个 要使用的映射:@request.env["devise.mapping"] = Devise.mappings[:user]
我该怎么做?请帮帮我。
提前致谢。
【问题讨论】:
-
我试过了。但不幸的是它并没有解决我的问题。
标签: ruby-on-rails devise controller