class Agency < ActiveRecord::Base
has_many :events
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
attr_accessible :name, :email, :phone, :address, :city, :state, :zip,
:notes, :is_admin, :password, :password_confirmation, :remember_me
end
class Event < ActiveRecord::Base
belongs_to :agency
has_many :consumers
end
class Consumer < ActiveRecord::Base
belongs_to :event
end
在consumers_controller中,我试图包含代理的一些字段
active_scaffold :consumer do |conf|
list.columns = [
:agency, :event
]
end
有这样的协会机构->活动->消费者。代理商和消费者之间并没有关联,只是通过事件。
但是它会导致一个错误。
如何列出任意字段的代理表格?
根据维基,我认为你想要的是:
active_scaffold :consumer do |conf|
conf.columns = [:agency, :event]
end
此外,确保消费者有一个代理协会或专栏。
解决方案非常简单,但很可能效率低下。
我为消费者模型添加了一种方法:
class Consumer < ActiveRecord::Base
...
def agency_name
self.event.agency[:name]
end
end
然后我添加了一个虚拟列到列表中:
list.columns = [
:agency_name, :event, ... ]
仅此而已。