Ruby on rails 路由错误:Can';t为用户调用自定义函数

Ruby on rails 路由错误:Can';t为用户调用自定义函数,ruby-on-rails,devise,routes,Ruby On Rails,Devise,Routes,我正在使用Rails和Desive gem。我想要贝宝账户。 我有以下职能: def verify_paypal ............ end 我把它放到user.rb中。在routes.rb中添加了路线: devise_for :users do member do get 'verify_paypal' end end 并得到错误 /mapper.rb:1189:in `member': can't use member outside resource(s

我正在使用Rails和Desive gem。我想要贝宝账户。 我有以下职能:

  def verify_paypal
............
   end
我把它放到user.rb中。在routes.rb中添加了路线:

devise_for :users do
  member do
  get 'verify_paypal'
  end
end
并得到错误

  /mapper.rb:1189:in `member': can't use member outside resource(s) scope (ArgumentError)

我做错了什么?

首先,您不能调用
design\u上的
块,它不是这样设置的。Desive确实提供了一个助手方法,您可以使用该方法调用Desive路由上的块。看


第二,设计路线和范围界定设计路线,仅适用于设计路线。您的方法不在任何Desive控制器中,因此无法为Desive调用该方法。您需要有一个单独的
users\u controller.rb
,该方法可以在模型上调用
verify\u paypal
。然后,您可以在
资源用户
上的块调用中设置自定义路由。有关Rails路由堆栈的更多信息,我建议阅读。这将为您提供调用自定义操作所需的所有信息。

谢谢。我设法做到了。你能帮我解决下一个问题吗?