如果我在行程中有一个列表,我正在试图找出设置我的模型和数据库的正确方法...
数据库表
`users`
id
`itinerary`
id
user_id
items
模型
class User < ActiveRecord::Base
has_many :itineraries
end
class Itinerary < ActiveRecord::Base
belongs_to :user
end
这是基础,但如果我想让用户在他们的行程中输入多个项目怎么办?我应该有一个单独的模型和表格吗?所以在itinerary
数据库表而不是items
下,它应该是item_id
?
`itinerary`
id
user_id
item_id # the change here
并有一个单独的项目表:
数据库表
items
id
itinerary_id # relationship id
name
模型
class Item < ActiveRecord::Base
belongs_to :user
belongs_to :itinerary
end
class Itinerary < ActiveRecord::Base
belongs_to :user
has_man :items
end
或者,如果这不是正确的方法,您如何在行程数据库表中显示项目列表?
谢谢!
答案 0 :(得分:1)
添加Puce的答案,对于has_many关系,您不需要在行程表下设置列item_id。
如果你只在items表中有itinerary_id就足够了。