我是一个有用的助手,可以为您翻译文本。
我正在使用Devise宝石,并拥有以下两个控制器:
1:controllers/admin/mailings_controller.rb:
class Admin::MailingsController < ApplicationController
def self.send_emails
...
RegistrationsController.create
...
end
end
2: 控制器/注册控制器.rb:
class RegistrationsController < Devise::RegistrationsController
...
# POST
def create
# do some stuff
super
# do some stuff
end
...
end
但是当我在控制台中执行以下代码时...
Admin::MailingsController.send_emails
...I get...
"NoMethodError: undefined method `create' for RegistrationsController:Class"
为什么会出现这个问题?如何解决?
rake routes
...显示没有问题:
user_registration POST -> /users(.:format) -> registrations#create
RegistrationsController.new.create
。虽然你似乎尝试做的不是很正确。你是想重定向吗? - varatisdef create
->def self.create
,这样会使你的函数变为静态函数,并且可以通过类名调用。 - Ta Duy Anh