我已经为每个模型选择了它在控制器中使用的另一个表中的数据:
def modelv
@model = Model.find(:all, :conditions => { :MOD_MFA_ID => params[:man]})
@ct1 = CountryDesignation.all(:conditions => { :CDS_ID => @model.map(&:MOD_CDS_ID)})
@ct = @ct1.uniq{|hh| hh.CDS_ID}
@destext = DesText.find(:all, :conditions => { :TEX_ID => @ct.map(&:CDS_TEX_ID)})
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @model }
end
end
对不起脏代码。
和我的看法
%table %tr
%th Mfa id
%th Год начала выпуска
%th Год завершения выпуска
- @model.each do |model|
%tr
%td= model.MOD_CDS_ID
%td= link_to model.MOD_ID, model
%td= link_to model.MOD_PCON_START, model
-if model.MOD_PCON_END.blank?
%td= link_to "По настоящее время", model
-else
%td= link_to model.MOD_PCON_END, model
-#%td= model.country_designations.des_texts.TEX_TEXT
-#= link_to 'Show model', model %br %table %tr
- @destext.each do |t|
%tr
%td= t.TEX_ID
%td= t.TEX_TEXT
- @ct.each do |ct|
%tr
%td= ct.CDS_ID
%td= ct.CDS_TEX_ID
但是如何为每个模型显示它的 t.TEX_TEXT 和 ct.CDS_TEX_ID,而不是在另一个循环中,而是在同一个表中的列中?而且,我的方法是获取数据,但是当我选择数据时,当 ct.CDS_TEX_ID 与多个条目相同时,@destext 正在分组,我只获取一个实例,例如
cds_id cds_tex_id
110007626 420077
110007627 420077
结果我从@destext 得到的只有一行。请帮帮我。这是非标准数据库
看,表 MODELS 有字段 MOD_CDS_ID,用这个字段我去表 COUNTRY_DESIGNATIONS 并且它的字段 CDS_ID = MOD_CDS_ID(来自 MODELS 表),而不是从这个表中我选择字段 CDS_TEX_ID 并用这个 id 去表 DES_TEXTS 它的字段 TEX_ID 必须相等从上一个表 CDS_TEX_ID 中获取字段 TEX_TEXT !!! 我的迭代中的这个字段@model.each 确实......我必须为每个模型显示