首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不确定如何在ActiveRecord中建模

不确定如何在ActiveRecord中建模
EN

Stack Overflow用户
提问于 2011-11-16 09:45:16
回答 1查看 73关注 0票数 0

我正在创建一个简单的事件系统(像物理事件,而不是软件事件)。它的结构如下。每个活动都会有一组空位(想想音乐活动、开场表演、医疗师等等)。每个event_slot都是对一个标签的引用。现在我有以下几点,但我认为这是行不通的:

代码语言:javascript
复制
class Event < ActiveRecord::Base
  #id primary key
  has_many :event_slots, :order => "sort desc" 
  has_many :tags, :through => :event_slots 
end

# event_slots will be populuated with tag_id
class EventSlot < ActiveRecord::Base
  # event_id, tag_id; will also have a sort value to sort these
  belongs_to :event
  belongs_to :tag
end

问题是event_slots将会有一个tag_id。换句话说,我们将添加标签并将它们关联到适当的位置(就像web表单中的物理位置)。

代码语言:javascript
复制
class Tag < ActiveRecord::Base
  has_many :event_slots
end

我不确定这种建模是否会起作用。对如何实现/改进这一点有什么想法吗?has_many :through似乎没有正确完成。

thx

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-16 15:04:16

这应该可以很好地工作。我可能会试着使用一个比EventSlots更好的名字,因为它不直观地表示什么。如果它的目标是音乐市场,像Acts这样的东西可能会更有意义。

在事件模型上使用类似accepts_nested_attributes_for的东西可以帮助消除对第二个嵌套模型(Act/EventSlot)的控制器的需要。看看http://railscasts.com/episodes/196-nested-model-form-part-1吧,如果你还没看过的话。

最后,我会考虑不使用你自己的标签系统。已经有大量经过良好测试的gem可以用来提供所需的功能。查看https://www.ruby-toolbox.com/categories/rails_tagging.html,找到一个可能满足您需求的网站。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8145630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档