【问题标题】:association or tagging for conception in rails 3Rails 3中概念的关联或标记
【发布时间】:2012-10-20 20:09:12
【问题描述】:

我在为我的视频游戏开发网站时遇到了概念问题。
我有一个名为 VideoLink 的模型,其中包含标题、说明和网络视频链接(例如 youtube)。
我还有其他模型,例如用户、地图、任务等。
我希望我的用户能够说在此任务期间在这些地图上制作了视频,并且这些用户出现了。

我想知道是否应该使用关联(使用 has_many 关系)或标记(使用acts_as_taggable_on 和 3 个属性 maps_list、users_list、mission)。
我觉得这个关联有点重,因为它是一个标记的东西而不是真正的关系。
但也许我错了,标记不是最好的选择。

您认为哪种解决方案与我的情况最相关?
如果您有其他解决方案或问题,请告诉我,我实际上是 ror 的菜鸟^^

感谢您的帮助。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 associations tagging acts-as-taggable-on


    【解决方案1】:

    如果使用关联,您可能会得到更多。如果您想做一些事情,比如轻松生成链接以查看有关视频链接资源的更多详细信息,那么关联绝对是要走的路。您可以在没有关联的情况下执行此操作,但老实说,从长远来看,如果您只是在模型中添加一些关联,那么麻烦会少得多。如果您的所有模型也都建立了关联,您可能可以轻松地构建自己的标记解决方案,使其更针对您的问题域。我建议您选择这个选项,特别是如果您不熟悉 ruby​​ on rails,因为 ActiveRecord 关联是 RoR 不可或缺的一部分,它可能是一个很好的学习体验。查看Why associations? 了解更多关于关联如何发挥作用的详细信息,如果您还没有阅读该指南的其余部分,那么您也必须阅读。

    如果您没有真正看到链接的价值并且能够轻松地查询视频以获取相关资源,请使用acts_as_taggable_on。

    【讨论】:

    • 您好,感谢您的回复,我仍然可以获取带有标签的地图视频吗? (像这样:VideoLink.tagged_with(MAP_NAME))。事实上,我在考虑标签,因为我找不到好的 has_many 关系。我了解到我们应该始终使用 has_many :through 并且在大多数情况下我可以找到“中产阶级”,但例如使用 VideoLink 和 Map 我找不到相关的,你知道吗?
    猜你喜欢
    • 1970-01-01
    • 2014-07-02
    • 1970-01-01
    • 2015-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多