我有一个产品页面和4个不同的类别标签。创建的产品只能属于页面上4个类别/选项卡中的一个。我如何通过表格和选项选择产品所属的类别?如何加载属于每个类别的产品?
我目前在网页上加载已创建产品的设置就是这样。
这是仅一个选项卡类别选择链接的示例...
<a href="#samplePacks" aria-controls="samplePacks" data-toggle="tab">
<h2 class="base-text">Samples</h2>
<%= image_tag("btn_Category_1.png", :alt => "Category one", class: "image-pad center") %>
</a>
后面是相应的标签,链接到上面的选择器......
<div role="tabpanel" class="tab-pane fade in active" id="samplePacks">
<div class="wellone pack-well">
<div class="row" id="samplePillars">
<% @packs.each do |pack| %>
<div class="col-md-4 pack-pad">
<%= link_to pack_path(pack) do %>
<%= image_tag("#{pack.art_link}", :alt => "Product Image", :width => 333, :height => 333, class: "feat-img") %>
<% end %>
</div>
<% end %>
</div>
</div>
</div>
当您单击4个选项卡中的任何一个时,您将获得其唯一的项目类别。没有&#34;显示所有项目,无论类别&#34;每个项目都不能从其类别中移动。
我需要添加到<% @packs.each do |pack| %>
以加载特定类别的代码是什么?
提前非常感谢你。
答案 0 :(得分:1)
对于您要找的内容,您可以使用collection_select
。
collection_select(:product, :category_id, Category.all, :id, :category_name, prompt: true)
这是一种很好的方法,因为它会从您的数据库动态加载所有下拉选项。
答案 1 :(得分:1)
首先,您应该在category_id
表格中设置products
,然后您需要在Product
和Category
模型中设置关联
class Product < ApplicationRecord
belongs_to :category
end
并在Category
模型中
class Category < ApplicationRecord
has_many :products
end
现在,在products/new.html.erb
,
<%= form_for @product do |f| %>
<%= f.label :name %>
<%= f.text_field :name %>
<%= f.label :category_id %><br>
<%= f.collection_select :category_id, Category.all, :id, :name,prompt: "Select Category" %>
<%= f.submit %>
<% end %>
然后,您可以使用关联来显示每个类别的产品@category.products
。希望这会有所帮助