我有一个拥有许多手机的用户我有一个
手机,它有很多通话摘要,
因此我的用户有很多通话摘要
现在到我的代码:
class User < ActiveRecord::Base
has_many :phones
has_many :call_summaries, :through => :phones
end
class Phone < ActiveRecord::Base
belongs_to :user
has_many :call_summaries
end
class CallSummary < ActiveRecord::Base
belongs_to :phones
end
Run Code Online (Sandbox Code Playgroud)
我想生成一个报告,显示属于该特定用户的电话的所有呼叫摘要.我进入控制器,这是我的代码:
def index
@phones = Phone.find(:all, :conditions => ["user_id = ?", @current_user.id])
@call_summaries = @phones.call_summaries.find(:all)
end
Run Code Online (Sandbox Code Playgroud)
但是这会返回此错误:
#Array的未定义方法`call_summaries':0x476d2d0
任何帮助将非常感谢.
如果您设置了has_many:through关系,那么您应该能够:
@call_summaries = @current_user.call_summaries
Run Code Online (Sandbox Code Playgroud)
您的方法存在的问题是您正在调用call_summaries@phones集合,而不是单个电话实例.
| 归档时间: |
|
| 查看次数: |
13759 次 |
| 最近记录: |