小编ske*_*sse的帖子

无法从控制器检索嵌套关联

我对rails很新,我遇到问题我试图在控制器中检索一个"命题"对象.

我的数据模型是:user - > ad - > proposition

所以我创建了以下"命题"模型:

class Proposition < ActiveRecord::Base
belongs_to :ad
attr_accessible :email, :name
end
Run Code Online (Sandbox Code Playgroud)

因此,我们在"广告"和"命题"之间存在关联(许多命题可以与广告相关联).

同样,"广告"属于用户:

class Ad < ActiveRecord::Base
belongs_to :user
...
Run Code Online (Sandbox Code Playgroud)

我尝试从给定用户检索广告时没问题:

class RegistrationsController < Devise::RegistrationsController
def edit
@ads = current_user.ads
Run Code Online (Sandbox Code Playgroud)

但是当我尝试检索相关命题时:

class RegistrationsController < Devise::RegistrationsController
def edit
@ads = current_user.ads
@propositions = current_user.ads.propositions
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

undefined method `propositions' for #<ActiveRecord::Relation:0x007fee649009c0>
Run Code Online (Sandbox Code Playgroud)

有什么猜测发生了什么?

谢谢

ruby ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2

2
推荐指数
1
解决办法
42
查看次数