Теперь у меня есть такой метод контроллера:Как выбрать контроллер рельсов?
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
«110000002», но мне нужно поле! И когда я выбираю модель, ее много! Его массив! – byCoder
Обратите внимание, что первая модель принадлежит производителю! – byCoder
Если вам нужно много, то найдите: все, но так как вы получите много назад, это должен быть массив. Если из поиска найдено много, вам нужно иметь дело с массивом этих результатов. Как еще это могло сработать? –