【发布时间】:2013-08-21 01:11:34
【问题描述】:
我想创建一个 rails 4 启动,带有 devise 和 omniauth,以及 twitter bootstrap 和 can can。
但是我对模型的理解不是很好,因此我遇到了用户和身份模型的问题。
身份模型
class Identity < ActiveRecord::Base
belongs_to :user, :foreign_key => "uid"
...
用户模型
class User < ActiveRecord::Base
include User::AuthDefinitions
include User::Roles
has_many :identities
validates_presence_of :email, :first_name, :last_name
小型 github 存储库在这里 -: https://github.com/pratik60/tur。
我确定问题是因为我对模型关系缺乏了解,但是当我尝试注册时出现此错误 -: NameError: uninitialized constant User::Identity basic uninitialized constant User::Identity
有什么建议吗?
【问题讨论】:
-
您可以通过
User.first.identities而不是User::Identity..thanks 获取身份 -
错误在这里-:identities.empty?为什么会报错?
-
是的,因为用户没有任何身份,所以首先创建一些身份 User.first.identities.create!(IDENTITY PARAMETER)
-
它只是说 Nil:Nil 类的未定义方法标识
-
您在数据库中没有任何用户创建至少一个用户然后尝试
标签: ruby-on-rails ruby devise omniauth ruby-on-rails-4