MrBug
(MrBug)
1
接续自:Creating Routes in Discourse and Showing Data
抱歉挖坟,但这里似乎是提问的合适地方……
在遵循了本教程和其他关于创建路由和显示数据的教程后
我为非管理员创建了一个 /snack 页面,它运行正常,并且完美地显示了我的数据!
看起来是这样的:
...
</header>
<h1>donut</h1>
<hr>
<p>delicious!</p>
<footer>...
但我刚刚意识到,这个页面没有被索引、爬取、加入站点地图、进行 SEO 等等,显然是因为 discourse 页面有非 JS 的“爬虫视图”版本……
那么……在遵循了上面的教程之后,接下来该怎么做才能在那个页面的“爬虫视图”非 JS 版本中显示相同的数据呢?
现在非 JS 版本看起来是这样的:
...
</header>
empty
<footer>...
它显示“empty”是实际的文本……那是因为它加载了默认的 empty.html.erb,对吗?如何让它显示我们的 { name: "donut", description: "delicious!" } 呢? 
我在 Google 上尝试了一些方法,但都没有用……
比如…… respond_to do… 和 format.html… 和 format.json…
以及各种 render plain, text, html…
都没有用……

为非 JS 视图单独创建一个 .html.erb 模板也许可以?
该如何命名?放在哪里?如何将 { name: "donut", description: "delicious!" } 传递给它?

请帮忙 
pfaffman
(Jay Pfaffman)
2
我不知道。但你肯定需要一个非 js 模板。如果关闭 JavaScript 访问该页面会发生什么?
1 个赞
MrBug
(MrBug)
3
它显示了通常的非 js 页面……页眉……页脚……
但这符合预期,因为每个教程都只涵盖如何将 json 数据馈送到 ember 模板……
1 个赞
MrBug
(MrBug)
6
你为什么给我看那个?^^
我问的是 在 Discourse 中创建路由并显示数据 教程……
我跟着它做的
我有一个路由
我有数据:{ name: "donut", description: "delicious!" }
路由读取 json 并显示该数据
如何将相同的数据获取到爬虫页面?
另一个静态页面插件版本如何帮助我?^^ 市面上有很多静态页面插件,大多已死且被放弃。所以……太棒了……又一个……
我找到了一个关于同样问题的帖子,How to transfer data from plugin to app/views templates?
而且没有人帮助他^^
而且那个家伙的解决方案似乎是停止使用 discourse^^
这是唯一的“真正”解决方案吗?
这是一个 Discourse 插件,它最终会渲染后端模板,这些模板会暴露给爬虫并拥有自己的路由,这就是原因。也许你可以:
- 使用它
- 适配它以满足你的需求?
仔细想想,你最好查看一下原版插件,不带扩展:
但随你便。
1 个赞
MrBug
(MrBug)
8
所以你显然知道怎么做……
你就不能展示一下怎么做吗?^^
就像“要在爬虫页面上也显示‘制作甜甜圈美味!’,请将这行小代码添加到这个特定文件中”……
搞定……
或者在这里帮忙是违法的?^^
如果太复杂或太黑客,需要创建 20 个新文件,里面有成百上千行难以阅读的垃圾代码,那么当然,采用替代解决方案可能是合理的……^^
您好 @MrBug 
很抱歉您没有得到想要的答复,但在审查了此主题后,您的帖子语气已越来越偏离我们在此元社区(meta)上所期望的风格。如果您想继续参与,能否请您记住要尊重那些花费时间和精力帮助他人解决问题的人。
我现在将关闭此主题。
3 个赞