# 複数のカテゴリに1つの画像

**URL:** https://meta.discourse.org/t/one-image-for-multiple-categories/260127
**Category:** Support
**Created:** [2023 年 3 月 31 日午後 4:31 UTC](https://meta.discourse.org/t/one-image-for-multiple-categories/260127 "2023-03-31T16:31:46Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![sterretje](https://avatars.discourse-cdn.com/v4/letter/s/cdc98d/32.png) [@sterretje](https://meta.discourse.org/u/sterretje)
#### Post date: [2023 年 3 月 31 日午後 4:31 UTC](https://meta.discourse.org/t/one-image-for-multiple-categories/260127/1 "2023-03-31T16:31:47Z")

</div>

こんにちは。

1つのカテゴリに画像をアップロードし、その同じ画像をサブカテゴリやサブサブカテゴリでも使用できるかどうか質問があります。以下に構造を示します。

```plaintext
カテゴリ A
    カテゴリ A1
    カテゴリ A2
    カテゴリ A3
    カテゴリ A4

カテゴリ B
    カテゴリ B1
        カテゴリ B11
        カテゴリ B12
    カテゴリ B2
    カテゴリ B3
    カテゴリ B4
        カテゴリ B41
        カテゴリ B42

カテゴリ C
    カテゴリ C1
        カテゴリ C11

カテゴリ D
    カテゴリ D1
    カテゴリ D2
    カテゴリ D3
    カテゴリ D4

```

カテゴリA～Dにはカテゴリの画像があります。最初のレベルに移動するとそのカテゴリの画像が表示されますが、3番目のレベルに移動しても画像が表示されないため、手動で追加する必要があります。残念ながら、カテゴリが非常に多く（私の選択ではありません）、作業量が多く、サーバーのディスク容量を消費します（時代遅れと言われるかもしれませんが、リソースが非常に限られているもので作業することに慣れています）。

継承が最優先です。画像を一度だけアップロードし、できればすべてのサブサブカテゴリを編集する必要がないようにする方法はありますか？

私はDiscourseの完全な初心者で、現在既存のDiscourseベースのサイトを改修中です。

よろしくお願いします。

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [2023 年 3 月 31 日午後 4:54 UTC](https://meta.discourse.org/t/one-image-for-multiple-categories/260127/2 "2023-03-31T16:54:30Z")

</div>

> [@sterretje](#):
>
> it eats disk space on the server

しません。画像はハッシュで保存されるため、アップロード回数に関係なく、単一のコピーのみが作成/保存されます。

レールにアクセスできる場合は、次のようなことができます。

```ruby
parent=Category.find_by_slug('category_a');
children=Category.where(parent_category_id: parent.id);
children.update_all(uploaded_logo_id: parent.uploaded_logo_id);

```

末尾のセミコロンは、レールがビューアに出力を表示するのを防ぐため、3行すべてを一度に貼り付けることができます。これを試すときは、省略してもかまいません。バックアップを作成し、テストまたはステージングサイトでこれを試さない場合は、復元できるようにしてください。

上司に[It’s Time We Talked About Tags](https://meta.discourse.org/t/its-time-we-talked-about-tags/72467)を読むように提案できます。または、すべてのサブカテゴリに何らかの良い理由があるのかもしれません。それらのサブカテゴリへのアクセスを制限する必要がない限り、または人々がそれらのカテゴリを監視/ミュートしたい場合は、おそらく全員にとって状況を悪化させるだけでしょう（悪いアイデアが全社に受け入れられたという自慢の権利を得た人を除く）。

---

<div class="post-metadata">

### Author: ![sterretje](https://avatars.discourse-cdn.com/v4/letter/s/cdc98d/32.png) [@sterretje](https://meta.discourse.org/u/sterretje)
#### Post date: [2023 年 3 月 31 日午後 5:00 UTC](https://meta.discourse.org/t/one-image-for-multiple-categories/260127/3 "2023-03-31T17:00:46Z")

</div>

返信ありがとうございます

> [@pfaffman](#):
>
> いいえ、そうではありません。画像はハッシュによって保存されるため、アップロード回数に関係なく、単一のコピーのみが作成/保存されます。

それは素晴らしい、心配事が一つ減りました。

> [@pfaffman](#):
>
> Railsにアクセスできる場合は、次のようなことができます。

私はDiscourseによってホストされているステージングウェブサイトにしかアクセスできません。Rubyにアクセスできるとは思いません 😉

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [2023 年 3 月 31 日午後 5:13 UTC](https://meta.discourse.org/t/one-image-for-multiple-categories/260127/4 "2023-03-31T17:13:14Z")

</div>

> [@sterretje](#):
>
> Discourseによってホストされています

その場合、APIで同様のことを行うように工夫することもできますが、それはご自身で行っていただくことになります。[Discourse APIのリバースエンジニアリング](https://meta.discourse.org/t/reverse-engineer-the-discourse-api/20576)から始めることになります。 . .

---

<div class="post-metadata">

### Author: ![sterretje](https://avatars.discourse-cdn.com/v4/letter/s/cdc98d/32.png) [@sterretje](https://meta.discourse.org/u/sterretje)
#### Post date: [2023 年 3 月 31 日午後 5:22 UTC](https://meta.discourse.org/t/one-image-for-multiple-categories/260127/5 "2023-03-31T17:22:14Z")

</div>

> [@pfaffman](#):
>
> [Discourse APIのリバースエンジニアリング](https://meta.discourse.org/t/reverse-engineer-the-discourse-api/20576)から始めます。

聞いてください、私は初心者だと言いましたよ 🤣

提供していただいた2つのリンクに感謝します 👍

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [2023 年 3 月 31 日午後 6:02 UTC](https://meta.discourse.org/t/one-image-for-multiple-categories/260127/6 "2023-03-31T18:02:05Z")

</div>

> [@sterretje](#):
>
> ねえ聞いて、初心者だって言っただろ

ええ。ごめんなさい。API（おそらく `curl` を使用）とのやり取りにすでに慣れていない限り、かなりのクリック作業が必要になると思います。
