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

こんにちは。

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

カテゴリ 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ベースのサイトを改修中です。

よろしくお願いします。

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

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

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を読むように提案できます。または、すべてのサブカテゴリに何らかの良い理由があるのかもしれません。それらのサブカテゴリへのアクセスを制限する必要がない限り、または人々がそれらのカテゴリを監視/ミュートしたい場合は、おそらく全員にとって状況を悪化させるだけでしょう(悪いアイデアが全社に受け入れられたという自慢の権利を得た人を除く)。

「いいね!」 1

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

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

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

その場合、APIで同様のことを行うように工夫することもできますが、それはご自身で行っていただくことになります。Discourse APIのリバースエンジニアリングから始めることになります。 . .

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

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

「いいね!」 1

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

「いいね!」 1