Ruby on rails 为和零重定向错误设计确认后路径
在RubyonRails4中,我的一个操作失败,因为它重定向到nil。获取重定向列表并查找错误呼叫的最佳做法是什么 编辑: 违规代码是:Ruby on rails 为和零重定向错误设计确认后路径,ruby-on-rails,Ruby On Rails,在RubyonRails4中,我的一个操作失败,因为它重定向到nil。获取重定向列表并查找错误呼叫的最佳做法是什么 编辑: 违规代码是: class ConfirmationsController < Devise::ConfirmationsController def after_confirmation_path_for(resource_name, resource) redirect_to some_specific_path_helper end
class ConfirmationsController < Devise::ConfirmationsController
def after_confirmation_path_for(resource_name, resource)
redirect_to some_specific_path_helper
end
end
类确认控制器
每当我在Deave中点击电子邮件确认操作时,该操作就会失败并报告无重定向。因此我的错误是,的确认后路径不是一个操作,而是一个简单的路径帮助器。因此,从确认路径中调用重定向是不正确的,并导致此方法返回nil(即nothing) 确认后正确使用
路径是让它返回所选路径,如下所示:
class ConfirmationsController < Devise::ConfirmationsController
def after_confirmation_path_for(resource_name, resource)
# just return the path, do not call redirect
some_specific_path_helper
end
end
类确认控制器
rails服务器日志是否没有显示任何内容?这就是测试的目的。没有“重定向列表”这样的东西,除非在config/routes.rb
中定义了重定向。如果在config/routes.rb中定义了重定向,则可以运行bundle exec rake routes
。然后您应该会看到类似这样的内容:命名的路径GET/path(:format)redirect(301)
如果您的重定向是在控制器操作中定义的(我怀疑这就是您现在正在做的),则无法获取所有重定向的列表。你能提供你的控制器代码吗?你能显示一些日志吗?@Sinstein:日志没有显示任何异常,因为问题在于我对
方法确认后的的理解,请参阅我的答案。@Codextremist:谢谢你的评论,它让我找到了我的错误。