0
は、今私は、このようなコントローラのメソッドがあります。railsコントローラでの選択方法は?
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を選択した場合は@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
そして、私はこのように見えるように習慣:DES_TEXTS belongs_toのCOUNTRY_DESIGNATIONSとCOUNTRY_DESIGNATIONS belongs_toのモデルは、その後発見が唯一の結果を返す必要がある場合は
%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
"110000002"しかし私はフィールドが必要です!そして私がモデルを選んだとき、それは多くです!その配列! – byCoder
最初のモデルはメーカーに属しています! – byCoder
多くのものが必要な場合は、all:を探しますが、多くのものが戻ってくるので、配列でなければなりません。検索結果から返されたものがたくさんある場合は、それらの結果の配列を処理する必要があります。どのように他のことができますか? –