用户具有分配给日历的项目的数据库

时间:2014-01-11 23:29:31

标签: ruby-on-rails ruby-on-rails-4

我正在创建一个店面应用,其中有......

  • 许多用户
  • 每个用户都有一个库存
  • 将每个广告资源分配给日历
  • 其中每个Item是Inventory表的一行
  • 并且每个项目仅限于在用户分配的那一天销售

到目前为止,我已经制定了以下方法来处理这个

class User < ActiveRecord::Base
  has_one :calendar
end

class Calendar < ActiveRecord::Base
  belongs_to :user
  has_many :inventories
end

class Inventory < ActiveRecord::Base
  belongs_to :calendar
end

作为Rails的新手,我正在努力如何制作它,以便用户可以成功地将他们的项目分配到日历日。如何在我的控制器/模型中处理此问题?即使是朝着正确方向的小推动也非常感激。

1 个答案:

答案 0 :(得分:0)

不完全确定我正确理解了这个问题,但是

你说

其中每个Item是Inventory表的一行

你应该中的

其中每个Item是Items表的一行

所以

class Inventory < ActiveRecord::Base
  belongs_to :calendar
end

变为

class Item < ActiveRecord::Base
  belongs_to :calendar
end

class Calendar < ActiveRecord::Base
  belongs_to :user
  has_many :items
end

并且用户创建这样的项目

user.calendar.items.create()

获取用户的广告资源

@inventory = user.calendar.items.all

但是我不太了解你的日历模型,我认为你的用户需要很多日历,所以它可以在不同的日子里出售物品。然后你可以做类似

的事情
user.calendar.where(day: 'Tuesday').items.create()