我有两个名为um_org_data.rb
class UmOrgDatum < ActiveRecord::Base
attr_accessible :org_description, :org_name, :webdomain, :addresses, :addresses_attributes
has_many :addresses
accepts_nested_attributes_for :addresses
end
和addresses.rb
class Address < ActiveRecord::Base
attr_accessible :offc_addr
belongs_to :um_org_datum
end
在我的控制器中,我在代码um_org_data.rb
class UmOrgDataController < ApplicationController
# GET /um_org_data
# GET /um_org_data.json
def index
@um_org_data = UmOrgDatum.joins(:addresses)
respond_to do |format|
format.html # index.html.erb
format.json { render json: @um_org_data }
end
end
现在在我看来我想在addresses.rb
的{{1}}视图中显示offc_addr列的数据,我在哪个控制器中使用了连接...我的视图代码如下:
um_org_data.html.erb
告诉我如何在该视图中显示其他表的列。
答案 0 :(得分:1)
您希望每个组织都有多个地址吗?如果是,那么做
<td><%= um_org_datum.addresses.pluck(:offc_addr).join(', ') %></td>
这将以逗号分隔的列表为您提供一列地址。如果每个组织只应有一个地址,请使用has_one :address
并在您的视图中
<td><%= um_org_datum.address.offc_addr %></td>
您目前遇到的问题是您将um_org_datum.addresses
视为单个模型实例,而实际上它是一个地址数组。