Bir sorunum var. Bir gösterge panosu gibi davranan ve diğer modellerin kayıtlarını ve ardından bunlarla ilişkili modelleri getiren bir görünüm görünümüm var. Tek bir modelde arama yapmak için iyi çalışan basit bir arama formum var, ancak bununla ilişkili modellerini nasıl görebileceğimi bilmiyorum. Tam bir metin aramasının gerekli olduğunu düşünmüyorum ve nasıl çalışacağından emin değilim çünkü tüm sitede arama yapacak bir şey istemiyorum.Raylar Birden Fazla Modelde Karşılaşıyor
Teşekkür
şirket/gösteri/1
<div id="form">
<div class="search">
<% form_tag battalion_company_path, :method => :get do %>
<p>
<%= text_field_tag :search, params[:search] %>
<%= submit_tag "Search", :name => nil %>
</p>
<% end %>
</div>
</div>
<div id="bc_box">
<% @soldiers.each do |soldier| %>
<div id="bc_focus">
<div class="right">
<%= link_to image_tag("../images/buttons/info.png", :border=>0), battalion_company_soldier_path(@battalion, @company,soldier) %>
<%= link_to image_tag("../images/buttons/edit.png", :border=>0), edit_battalion_company_soldier_path(@battalion, @company,soldier) %>
</div>
<%=h soldier.rank %> <%=h soldier.lastname %><br />
Cell: <%=h soldier.cellphone %><br />
<% soldier.primaries.each do |primary| %>
<p>
<%=h primary.firstname %> <%=h primary.lastname %> (<%=h primary.relationship %>)<br />
(c):<%=h primary.cellphone %><br />
<%=h primary.email %><br />
</p>
<% end %>
</div>
<% end %>
</div>
soldier.rb
def self.search(search)
if search
find(:all, :conditions => ['email LIKE ? OR lastname LIKE ? OR firstname LIKE ?', "%#{search}%", "%#{search}%", "%#{search}%"])
else
find(:all, :order => 'lastname')
end
end
companies_controller
@soldiers = @company.soldiers.search(params[:search])
@primary = @company.primaries.find(:all,:conditions => ["relationship = 'Spouse'"])
Aşağıdaki cevabın en iyisi olduğunu düşünüyorum ama sadece birisinin ilgilenmesi durumunda, bu çok dağınık ama işe yarıyor: bul (: all,: joins =>: primaries,: conditions => ['soldiers.email LIKE? OR primaries.email LIKE? VEYA soldiers.firstname LIKE? OR primaries.firstname LIKE? VEYA soldiers.lastname LIKE? VEYA primaries.lastname LIKE? ', "% # {[Search]}%", "% # {[search] }% ","% # {[search]}% ","% # {[search]}% ","% # {[search]}% ","% # {[search]}% "],: order => 'soldiers.lastname') – looloobs