我有一個Products表和一個Departments表。 在產品型號:根據另一個(部門)中的值提取一個表(產品)的記錄
has_one :department
在系車型:
belongs_to :products
我也有一個觀點對我的產品控制器,它列出了所有部門爲這樣:
<% @departments.each do |department| %>
<div class="column_entry">
<%= link_to image_tag(department.image_attachment), products_of_a_given_main_cat_url %>
</div>
<% end %>
那些負載了罰款。當我點擊其中一幅圖像時,我希望將products_of_a_given_main_category視圖動態地填充到部門中我點擊的圖像中的產品。
在我的產品控制器:
def products_of_a_given_main_cat
@products = Product.all
@department = Department.where(:name == :department)
respond_to do |format|
format.html # index.html.erb
format.json { render json: @products }
end
end
,並在視圖:
<div class="the_grid_prod">
<% @products.each do |product| %>
<% if product.department == @department.name %>
<div class="column_entry">
<%= link_to image_tag(product.product_image.url(:normal_page_size)), products_content_url(product.id) %>
</div>
<% end %>
<% end %>
</div>
當我點擊一個部門的形象,我敢肯定,在有產品在頁面加載但也有沒有產品。我確定我在做一些非常錯誤的事情,但我不確定它是什麼。
在routes文件:
get 'products/products_of_a_given_main_cat' => :products_of_a_given_main_cat, :as => :products_of_a_given_main_cat
我想,這是一個旁白,但關於這些關聯有些事情是不對的。部門belongs_to:產品(s)?您的部門表中有一個product_id列?這看起來倒過來。你不想要'部門has_many:產品'和'產品belongs_to:部門'?產品表中有一個department_id列? –
@TomL感謝您指出這一點,我不會注意到它自己,它確實有助於解決問題 – SoSimple
沒問題!我不喜歡假設太多關於脂肪酶如何構建他們的數據,但它看起來像一個比你原來的問題更大的問題。 –