0

我有这个 quiz rails 应用程序链接到一个提出问题的 IRC 机器人(是的,在 IRC 上),我有这个Question模型,其中包含问题、答案、提示和其他一些东西。

我从Quiz模型(比如万圣节或圣诞节的特殊测验)开始,表格中有 a quiz_idquestions然后,我告诉自己,能够对问题进行分类会很好,所以我添加了一个Category模型(比如,比如说、电影或书籍),category_idquestions.

现在,我的用户希望能够向一个或多个测验添加一个问题,并为问题分配一个或多个类别……</p>

所以,我一直在考虑去掉QuizandCategory模型并用标签替换它们,这样,就会有一个万圣节标签,一个电影标签,一个问题可以有“万圣节电影圣诞节”作为标签。

在我的搜索中,我已经看到了很多包含标签的方法acts_as_taggableacts_as_taggable_on_steroids或者任何其他人想象的标签:-)

现在,我想知道我应该做什么,所以,我在问,你做了什么,你是怎么做到的,你为什么这样做。

4

2 回答 2

2

我认为 Category 可以很容易地被标签替换,因为它们都用于向问题添加元数据。

但是,我对 Quiz 模型表示怀疑。如果您仅使用测验模型对问题进行分组,则可以将其替换为标签。但我认为测验模型将包含更多功能,而不仅仅是单独分组。例如,记分、选择下一个问题等。所以我会保持 Quic 模型不变。

要实现标记,acts_as_taggable_on_steroids 确实有效,但有点旧。最好有一个在后台使用 named_scope 的标记插件,因为它会使插件更加灵活。

于 2008-12-03T03:00:49.297 回答
2

act_as_taggable_on_steroids 较旧,但它仍然有效,并且仍在维护中。确保您正在访问它的主存储库:

http://svn.viney.net.nz/things/rails/plugins/acts_as_taggable_on_steroids/

您可以将acts_as_taggable_on_steroids 与named_scopes 一起使用,这里有一篇文章展示了如何:

加速和 named_scope 行为_as_taggable_on_steroids 发现

对模型的实际添加非常简单(这直接来自上面的文章):

named_scope :tagged_with, lambda { |tags| YourModel.find_options_for_find_tagged_with(tags) }
于 2008-12-03T10:36:51.123 回答