ruby-on-rails - 如何访问服务对象中的设备登录

标签 ruby-on-rails devise

我正在尝试将一些代码从我的 Controller 移到一个服务对象中。如何从服务对象访问设计 sign_in 帮助程序方法。

class CompleteAccountRegistration

  def self.call(account_id, plan_id)
    @account = Account.find(account_id)
    self.create_user_account
    self.create_subscription(plan_id)
    sign_in(User.find(@account.owner_id))
  end

我在测试中遇到以下错误。
 NoMethodError:
   undefined method `sign_in' for CompleteAccountRegistration:Class

最佳答案

包括Devise::Controllers::SignInOut在您的服务对象中起作用!

关于ruby-on-rails - 如何访问服务对象中的设备登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27219191/

相关文章:

Javascript 投票 acts_as_votable

ruby-on-rails - 使用 Barby gem 打印 - 条码图像模糊

ruby-on-rails - 路由表单提交到不同的 Controller

ruby-on-rails - Geocoder rails,检查是否有效

ruby-on-rails - 重定向回用户索引时,如何禁用Devises消息 "You are already signed in."?

ruby-on-rails - 为什么 Rails 试图重定向?

ruby-on-rails - 使用设计检查用户是否在登录期间确认

ruby-on-rails - 无法捆绑安装 'open-uri'

ruby-on-rails - 未定义的局部变量或方法 `current_user'

ruby-on-rails - 无法批量分配 protected 属性 : confirmed_at