0

我正在使用 Rails 6。我有以下模型……</p>

class Parent < ActiveRecord::Base

      belongs_to :group, foreign_key: :special_id
    …
      has_one :user, through: :group



class Child < Parent
    …
  validate :verification, on: :create
    …

  def verification
    print "\n\n\nin verification: group.user #{group.user} user: #{user}\n"
    errors.add(:user, 'not verified') unless user.identity_verified?
  end

上面的 RSpec 测试中打印的内容是

group.user #<User:0x00007f7f7f5c6e20> user:

这意味着“group.user”返回一个对象,但“user”返回 nil,即使我在 has_one-through 关系中定义了“user”。has_one-through 不应该是别名吗?为什么它返回的结果与访问关系的长形式不同?

4

0 回答 0