2012-04-21 49 views
0

現在我有這樣的控制方法:如何在導軌控制器中選擇?

 def modelv 
    @model = Model.find(:all, :conditions => { :MOD_MFA_ID => params[:man]}) 
    @ct = CountryDesignation.find(:all, :conditions => { :CDS_ID => "110000002"}) 
    @destext = DesText.find(:all, :conditions => { :TEX_ID => "388555"}) 
    respond_to do |format| 
     format.html # show.html.erb 
     format.xml { render :xml => @model } 
    end 
    end 

,但我想,它看起來像這樣:

def modelv 
    @model = Model.find(:all, :conditions => { :MOD_MFA_ID => params[:man]}) 
    @ct = CountryDesignation.find(:all, :conditions => { :CDS_ID => @model.MOD_CDS_ID}) 
    @destext = DesText.find(:all, :conditions => { :TEX_ID => @ct.CDS_TEX_ID}) 
    respond_to do |format| 
     format.html # show.html.erb 
     format.xml { render :xml => @model } 
    end 
    end 

但我的模型結構爲:

COUNTRY_DESIGNATIONS的has_many模型

DES_TEXTS has_many COUNTRY_DESIGNATIONS

製造商has_many模型

因此,如果我選擇@model - 它是數組,如果選擇@ct - 它是數組(對於每個模型),如果選擇@destext - 它是數組。如何正確選擇這個。以及如何顯示這個視圖?現在我的看法是這樣的:

%p#notice= notice 

%h3 
    - @model.each do |model| 
    %tr 
     %p 
     mod_id 
     %td= model.MOD_ID 
     name 
     -#%td= model.country_designations.des_texts.TEX_TEXT 
     = link_to 'Show model', model 
= link_to 'Back', manufacturers_path 

而且我不會給這個樣子:

%p#notice= notice 

%h3 
    - @model.each do |model| 
    %tr 
     %p 
     mod_id 
     %td= model.MOD_ID 
     name 
     %td= @destext.TEX_TEXT 
     = link_to 'Show model', model 

= link_to 'Back', manufacturers_path 

回答

0

如果模型belongs_to的COUNTRY_DESIGNATIONS和COUNTRY_DESIGNATIONS belongs_to的DES_TEXTS然後查找應該只返回一個結果。那麼你不需要找到(:所有,...),你需要

@model = Model.find(:first, :conditions => { :MOD_MFA_ID => params[:man]}) 
@ct = CountryDesignation.find(:first, :conditions => { :CDS_ID => "110000002"}) 
@destext = DesText.find(:first, :conditions => { :TEX_ID => "388555"}) 
+0

「110000002」但我需要領域!而當我選擇模型很多!它的陣列! – byCoder 2012-04-22 07:18:39

+0

請注意,第一個型號屬於製造商! – byCoder 2012-04-22 09:02:18

+0

如果你需要很多,然後找到:所有,但因爲你會得到很多回來,它必須是一個數組。如果有很多從查找中返回,則需要處理這些結果的數組。它還能如何工作? – 2012-04-22 12:44:02