こんにちは。
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ベースのサイトを改修中です。
よろしくお願いします。
pfaffman
(Jay Pfaffman)
2023 年 3 月 31 日午後 4:54
2
しません。画像はハッシュで保存されるため、アップロード回数に関係なく、単一のコピーのみが作成/保存されます。
レールにアクセスできる場合は、次のようなことができます。
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にアクセスできるとは思いません
pfaffman
(Jay Pfaffman)
2023 年 3 月 31 日午後 5:13
4
Wim Sturkenboom:
Discourseによってホストされています
その場合、APIで同様のことを行うように工夫することもできますが、それはご自身で行っていただくことになります。Discourse APIのリバースエンジニアリング から始めることになります。 . .
pfaffman
(Jay Pfaffman)
2023 年 3 月 31 日午後 6:02
6
Wim Sturkenboom:
ねえ聞いて、初心者だって言っただろ
ええ。ごめんなさい。API(おそらく curl を使用)とのやり取りにすでに慣れていない限り、かなりのクリック作業が必要になると思います。
「いいね!」 1