我正在创建这个小节目调度器的东西。我有表显示,title:string
和description:text
。我想在节目中添加日期和时间(每个节目可以有多天,每天有自己的时间)。我该如何去做这件事?我该如何扩展这个Ruby ActiveRecord模型?
我正在考虑制作一个时间表。与列(show_id
,day
和time
)。然后在列出节目时,您搜索符合show_id
的时间并按天排序。
欢迎任何想法,建议等。
我正在创建这个小节目调度器的东西。我有表显示,title:string
和description:text
。我想在节目中添加日期和时间(每个节目可以有多天,每天有自己的时间)。我该如何去做这件事?我该如何扩展这个Ruby ActiveRecord模型?
我正在考虑制作一个时间表。与列(show_id
,day
和time
)。然后在列出节目时,您搜索符合show_id
的时间并按天排序。
欢迎任何想法,建议等。
我认为你的想法非常合理(特别是对于没有编程经验的人)。如果你对“Rails方式”的实现感兴趣,我会建议在the Rails guide中检查has_many
关系。 (我建议一般本指南,因为它帮助了我很多使用Rails)
你会创建Show
模型下面的命令:
script/generate model Show title:string description:text
然后,你创建欣欣模型:
script/generate model ShowTime date:datetime time:datetime
然后,在你的show.rb
模型文件,您可以定义这样的has_many
关系:
has_many :showtimes
而在你ShowTime
模型文件,您可以定义这样的belongs_to
关系:
belongs_to :show
在我看来,这是最简单的解决办法是使用一个单一的DateTime对象,因为你可以得到一天以及Time对象的时间。
script/generate model ShowTime time:datetime
script/generate model Show title:string description:text showtime:references
然后放在belongs_to的/有many_associations雅各提及。我认为有一个单独的showtime模式会更好,并允许更多的灵活性。您还应该查看Time对象上的strftime方法,以根据您的喜好设置时间格式。
出于好奇,为什么要打扰ShowTime?为什么不把时间添加到Show模型?这似乎更像是一个属性,然后是它自己的东西 – 2010-09-22 12:44:30
@Matt,OP希望能够多次与** ** ** Show'相关联,这就是为什么。 – 2010-09-22 13:49:02
我认为您的ShowDate和ShowTime模型应该包含show_id:integer以使关系正常工作?不应该是'belongs_to:show'(小写“s”)? – 2010-09-22 07:49:46
你为什么要把时间和日期分开?将这些组合成单个DateTime字段不是更有意义吗?然后每个放映时间可以有一个日期和一个独特的时间,而不需要单独管理它们。 – 2010-09-22 12:05:49
对不起,如果我可能在我的文章中让你们感到困惑,或者我误会了。 但是,这不会要求我每天都特地添加吗? (就像我加上“10年9月13日5:30”,“10年9月20日5:30”和“10年9月27日5:30”?) 我希望能够给刚刚添加一周中的某一天以及那一天的时间。 – Rickmasta 2010-09-22 13:29:39