首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rails-5的模型装饰器

rails-5的模型装饰器
EN

Stack Overflow用户
提问于 2020-05-21 07:17:24
回答 1查看 89关注 0票数 0

在rails 4中,我有下面的装饰代码。效果很好

代码语言:javascript
复制
app/decorators/models/user_decorator.rb

User.class_eval do
  devise :omniauthable
end

现在我正在将rails升级到版本5,但这给我带来了错误。

映射非万能资源上的omniauth_callbacks --请将devise :omniauthable添加到User模型中

我所有的模型都是在单独的创业板,我没有设计安装在宝石。这就是为什么我使用上面的装饰器在我的应用程序中添加设计。如何在rails-5中实现相同的功能?

EN

回答 1

Stack Overflow用户

发布于 2020-05-21 13:40:01

试着用设计来装饰用户模型:无所不能。从您提供的背景来看,class_eval不起作用的原因并不明显。这可能与rails内部魔术有关,rails内部魔术可能已经从rails 4变为5,因此使用一种关注点--向模型添加行为的"rails方式“--可能会解决您的问题。

代码语言:javascript
复制
module OmniauthableUser

  extend ActiveSupport::Concern

  included do 
    devise :omniauthable
  end

end


app/decorators/models/user_decorator.rb

User.include OmniauthableUser
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61929243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档