Rails+React/Next.js:如何存储代码块以保持格式化?

Posted

技术标签:

【中文标题】Rails+React/Next.js:如何存储代码块以保持格式化?【英文标题】:Rails+React/Next.js: how to store code blocks so formatting persists? 【发布时间】:2021-08-24 00:09:50 【问题描述】:

tl;dr 我应该如何在 react + rail 应用程序中存储代码块?如果我要将代码块数据存储在 rails 后端,我应该将其存储为哪种数据类型?如果在前端,mdx 文件会是最好的解决方案吗?

我正在构建一个编程测验应用程序,其中一个问题有很多答案,每个答案(只有一个是正确的)都有一个解释。问题由问题本身和代码块组成,类似于wireframe 中橙色圈出的内容。

由于我想练习构建 Rails+React (Next.js) 应用程序,我认为问题将存储在后端。然而,这是个好主意吗?如果是这样,我想知道在给定 Rails 数据类型的情况下,存储代码 sn-ps 的可能方法是什么?

另外,我也在考虑将所有问题存储在前端。如果我选择这样做,mdx 文件会是这里的最佳解决方案吗?

所以,总而言之,以下哪种解决方案最好:

在前端将代码块存储为 Markdown 文件 在后端存储代码块数据 完全不同的解决方案?

【问题讨论】:

【参考方案1】:

我认为问题会存储在后端。但是,这是个好主意吗?

这取决于您是否希望用户可编辑问题和答案。在这种情况下,您需要将其实际存储在某个地方。那个地方通常是你的 Rails 应用程序与之通信的数据库。

如果您使用降价,您可以在 ActiveRecord 中使用:text 类型。数据库适配器会将其映射到该数据库的合适类型以存储长字符串 - 确切的详细信息因适配器而异。

另外,我也在考虑将所有问题存储在 前端。如果我选择这样做,mdx 文件会是最好的解决方案吗 在这里?

如果通过“将问题存储在前端”是指将它们放入您的 react 项目并通过该服务器(或云存储)为它们提供服务,那么如果您正在构建一个非常简单的应用程序来解决问题,那么这绝对是一个选择和答案是开发人员关心的问题。

TLDR;

您确实需要为您的应用程序编写用例和目标。如果它是一个学习应用程序,您真的想了解更多关于服务器端和编写数据库应用程序的信息,还是想专注于编写客户端代码?这些问题的答案将决定您的选择。

【讨论】:

感谢您的彻底回复!这帮助我更好地构建了我的问题和问题。

以上是关于Rails+React/Next.js:如何存储代码块以保持格式化?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 React(Next.js) 中分别控制每个属性?

如何在 React、Next.js 中使用 tailwind.css 垂直和水平放置内容中心?

如何通过 react/next js 删除 :focus 伪类?

如何使用 formdata 将图像文件发送到 React/Next js api?

在 React (Next JS) 和 Apollo 中创建数据后如何获取 Id

REACT 学习路线