您好,
我想问一下,是否可以为某个类别上传一张图片,并将其用于该类别下的子类别和子子类别?结构如下:
Category A
Category A1
Category A2
Category A3
Category A4
Category B
Category B1
Category B11
Category B12
Category B2
Category B3
Category B4
Category B41
Category B42
Category C
Category C1
Category C11
Category D
Category D1
Category D2
Category D3
Category D4
类别 A..D 都有一个类别图片。导航到第一级会显示该类别的图片,但导航到第三级时不会显示图片,因此我必须手动添加。不幸的是,我的类别很多(这不是我的选择),所以工作量很大,而且占用了服务器磁盘空间(您可能觉得我老土,但我习惯于在资源非常有限的情况下工作)。
继承功能将是首选。是否有其他方法可以实现我只需要上传一次图片,并且最好不必编辑每个子子类别?
请注意,我是 Discourse 的新手,目前正在重新改造一个现有的基于 Discourse 的网站。
提前感谢。
pfaffman
(Jay Pfaffman)
2
它不会。图像是通过哈希值存储的,因此无论上传多少次,都只会创建/存储一个副本。
如果你有访问 rails 的权限,可以这样做:
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);
末尾的分号可以防止 rails 在查看器中显示输出,因此你可以一次性粘贴所有三行。尝试时可以省略它们。你应该进行备份,并且如果你不是在测试或暂存站点上尝试,则愿意恢复它。
你可以建议你的上级阅读 是时候谈谈标签了。或者也许有充分的理由为所有子类别设置这些。除非你需要限制对这些子类别的访问,或者人们想要关注/静音这些类别,否则它们可能会让所有人都变得更糟(除了那些能够吹嘘自己的糟糕想法被整个公司接受的人)。
1 个赞
感谢您的回复
太好了,少了一个担忧。
我只能访问登台网站(由 Discourse 托管);所以我怀疑我能访问 Ruby 
pfaffman
(Jay Pfaffman)
4
在这种情况下,您可以通过 API 来实现类似的功能,但这需要您自己解决。您可以从 逆向工程 Discourse API 开始。 . .
pfaffman
(Jay Pfaffman)
6
是的。抱歉。除非你已经擅长与 API 交互(也许使用 curl),否则恐怕你只能进行大量点击操作。
1 个赞