用例:
用户可以创建一个:行程有很多:天(即香港行程:第1天,第2天,第3天等),每个:天有:描述
我不确定如何处理行程,日,描述。
我应该为行程和日期和描述创建单独的模型吗?
**itinerary.rb**
has_many :days
**day.rb**
has_one :description
但这不会令人困惑吗?有没有更简单的方法呢?
或者我应该创建模型“Day”并将:description描述为属性?如果是这种情况,我将如何订购日实例(即按第1天,第2天,第3天等顺序)
答案 0 :(得分:0)
如果您在description
表上没有多个属性,那么只有day
表可以。只需将description
表格属性添加到day
表格。
在day
模型上添加额外字段。与整数类型 day_no 类似。用户将添加指定那里的日期编号。然后,您可以根据该新属性对日期进行排序。
答案 1 :(得分:0)
创建两个模型Itinerary
和Day
;然后按如下方式添加关联:
class Itinerary < ActiveRecord::Base
has_many :days
end
class Day < ActiveRecord::Base
belongs_to :itinerary
end
日模型应具有属性 - :itinerary_id
,:description
现在,您可以通过调用 - @itinerary.days
请注意,序列取决于您创建日期的顺序。如果您要随机创建天数,请添加一个额外的列:day_index
,您可以在其中存储用于表示日期的整数。
在这种情况下,顺序调用应该是 - @itinerary.days.order(:day_index)
希望这能够清除你的怀疑! :)