1

我正在构建一个 Rails 3.2 应用程序。在这个应用程序中,我设置了订阅模型和 backend_user 模型之间的多态关联。

在 BackendUser 模型中,我得到了这个:

has_one :subscription, as: :subscribable

在订阅模型中,我得到了这个:

belongs_to :backend_user, polymorphic: true

如果我想检索 backend_user 的订阅,我会这样做并且效果很好:

user = BackendUser.find(1)
user.subscription

我还想做的是扭转局面。我想为这样的订阅获取 backend_user,但我得到了 nil。

sub = Subscription.find(1)
sub.backend_user

我在订阅表中得到了这个:

t.integer  "subscribable_id"
t.string   "subscribable_type"

如何获取订阅的后端用户对象?

4

1 回答 1

1

你需要:

sub = Subscription.find(1)
sub.subscribable

这将为您提供后端用户对象。

于 2013-09-12T07:25:30.610 回答