製品が属するすべてのカテゴリのリストを含むサイドバーを追加したアプリケーションがあります。
この機能は正常に機能しますが、問題があります。
コードは現在のページの製品のみをスキャンし、利用可能な実際のカテゴリはスキャンしません。あれは:
私のアプリケーションでは、製品の5つのカテゴリ(あります)がありますが、現在のページには3つの製品しかありません。したがって、コードには実際の5つではなく、3つのカテゴリしか表示されません。これを修正するにはどうすればよいですか?これはインスタンス変数と関係がありますか?
これが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で入手できます。
これに答えるためにあなたの人々をちょっと見てみるかもしれません...