【发布时间】:2011-09-20 02:17:58
【问题描述】:
鉴于我有以下结构:
class A < ActiveRecord::Base
has_and_belongs_to_many :bs, :class_name => "B", :join_table => "ab"
end
class AB < ActiveRecord::Base
#ab has a date column "creation_date"
#ab also has a text column "creatior"
end
class B < ActiveRecord::Base
end
我成功检索到rails console中的“creation_date”属性
console> A.find(1).bs.first.creation_date
=> "14/08/1874"
在控制器中
@a = A.find(1)
@bs = a.bs
但是在视图中使用它(部分),我得到了以下错误
bs.each do |b|
b.b_attribute #this is O.K.
b.creation_date # cause error => undefined method `creation_date` for #<B:...>
end
# also try to debug in partial
A.find(1).bs.first.creation_date #=> this return data correctly
如上所示的问题,什么可能导致undefined method,而直接属性仍然可以访问。
有人知道我的代码有什么问题吗?
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 activerecord has-and-belongs-to-many