예를 들어 설명하겠습니다.컨트롤러에서 여러 개의 activerecord 객체를 뷰로 전달하는 방법은 무엇입니까?
두 모델로 카테고리 및 제품이 있고 그 사이에 많은 관계를 지정/처리하는 다른 ChosenProduct가 있다고 가정 해보십시오. 이제 특정 범주가있을 때 해당 범주에 대한 루프를 반복하여 해당 제품을 가져옵니다. 내보기에서 이러한 여러 제품 개체에 액세스하는 방법?
저는 레일즈와 MVC에 익숙합니다. 지금은보기 자체에서이 작업을하고 있습니다. 그러나 이것이 올바른 방법이되어서는 안된다고 생각합니다. 어떻게 접근해야합니까?
요청한대로 내보기 코드를 추가합니다. 이것은 나를 위해 지금 잘 작동합니다. 하지만 나는 그다지 귀엽다고 생각하지 않습니다.
<ul>
<% @categories.each do |category| %>
<li>
<%= image_submit_tag("add.png", :height => "20", :width => '20', :name=>"add_product_to_#{category.id}", :id=>"add_product_to_#{category.id}") %>
<%= category.category_name %>
<% @chosen_products = category.chosen_products %>
<% @chosen_products.each do |chosen_product| %>
<% @products = Product.where(:id => chosen_product.product_id).all %>
<% @products.each do |product| %>
<ul>
<li><%= product.product_name %>
<ul>
<li><%= image_tag("#{product.product_image_url}", :size => "200x200", :alt => "Can not load image!") %></li>
<li><%= product.product_image_url %></li>
</ul>
</li>
</ul>
<% end %>
<% end %>
<% end %>
</li>
</ul>
코드를 추가하면 개선 할 수있는 방법이 표시됩니다. – jvnill
컨트롤러에서 데이터를 마샬링하고 뷰 코드가 필요한 모든 반복 작업을 수행하도록합니다. 이상적으로 (그리고 이것은 의견의 문제이며, 양측에서 지지자를 찾을 것입니다.) 귀하의보기 코드는 데이터베이스를 읽지 않습니다. 즉, Product.find() 또는 Product.where()가 없습니다. 이러한 종류의 호출을하기가 힘들다면 아약스 솔루션을 원할 것입니다. – railsdog