我有一个应用程序,我在其中添加了一个边栏,其中列出了产品所属的所有类别。
该功能运行良好,但存在问题。
该代码仅扫描当前页面上的产品,而不是可用的实际类别。那是:
在我的应用程序中有 5 个产品类别(有),但在当前页面上只有 3 个产品。所以代码只显示了 3 个类别,而不是实际的 5 个。我该如何解决这个问题?这与实例变量有什么关系吗?
这是来自 application.html.erb 的代码
<div>
<% a = [""] %>
<h1>Categories</h1>
<% @products.each do |product| %>
<% a = a + [product.category] %>
<% a = a.uniq %>
<% end %>
<% a.each do |c| %>
<p class="text-error"><%= c %></p>
<% end %>
</div>
迁移文件..
class CreateProducts < ActiveRecord::Migration
def change
create_table :products do |t|
t.string :name
t.text :description
t.date :delivery_date
t.decimal :price
t.timestamps
end
end
end
class CreateCommentsTable < ActiveRecord::Migration
def up
create_table :comments do |t|
t.string :commenter
t.text :body
t.references :product
t.timestamps
end
add_index :comments, :product_id
end
def down
end
end
class AddCategoryToProducts < ActiveRecord::Migration
def change
add_column :products, :category, :string
end
end
路线..
resources :products do
resources :comments
end
该代码位于https://github.com/abhishekdagarit/sample-app.git
可能需要你快速浏览一下来回答这个问题......