1

我已经为每个模型选择了它在控制器中使用的另一个表中的数据:

  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 确实......我必须为每个模型显示

4

0 回答 0