0

尝试在 Ruby on Rails 中构建一个准系统概念,该概念将接受一个字符串,映射该字符串中的每个单词,进行比较,然后如果它与相关数据库中的预定义字符串匹配,则替换该单词。

例如:文本字段中的用户输入“lol 和 brb 是什么意思?” 点击提交按钮。该动作返回相同的文本,“lol”和“brb”更改为“laughing out loud”和“be right back”。

到目前为止,我有一个用于将字符串存储在数据库中的用户输入的 Post 模型和表。

我有一个 Acronym 模型和表,其中“lol”和“brb”存储在数据库中,外键引用 Acronym_Translate 模型和表,“大声笑”和“马上回来”引用“lol”和“brb” “, 分别。

如何将 Post 模型/表连接到 Acronym 模型/表,以便比较 Post 中的字符串并用 Acronym 模型/表中的字符串替换?什么命令可以实现这样的功能?会gsub!方法在这里工作?

任何帮助,将不胜感激!

4

1 回答 1

0

您确定要将 Post 表连接到 Acronym 表吗?这意味着您必须识别并保留帖子中每个首字母缩略词实例的记录。

您可以使用多对多关系来执行此操作,或者如果您想存储有关每个首字母缩略词出现的额外数据,您应该创建一个名为 AcronymPost 的链接表,并在 Post 和 Acronym 之间使用具有多通关系。当您解析一个帖子值并在帖子中识别一个首字母缩写词时,您必须将其记录在数据库中,然后使用 gsub 将帖子值替换为首字母缩写词。

您可以遍历您的首字母缩写词表并使用 (string).include? 检查它是否出现在帖子中的方法。最后,您可以使用 gsub 命令将首字母缩写词替换为其翻译。

于 2015-12-14T14:23:30.187 回答