Ruby on rails Rails模型问题
我有两个模型。一个是Ruby on rails Rails模型问题,ruby-on-rails,ruby,ruby-on-rails-3,activerecord,Ruby On Rails,Ruby,Ruby On Rails 3,Activerecord,我有两个模型。一个是项目模型,另一个是事件模型。 我需要做的是: 项必须“签出”到事件。事件将显示所述事件之外的所有项目。事件结束后,用户将再次检查项。您应该仍然能够看到上述事件中的所有项目 这就是我当前的型号: class Item < ActiveRecord::Base has_and_belongs_to_many :events end class Event < ActiveRecord::Base has_many :items end 项目型号: c
项目
模型,另一个是事件
模型。我需要做的是:
项必须“签出”到事件。事件
将显示所述事件之外的所有项目
。事件结束后,用户将再次检查项。您应该仍然能够看到上述事件中的所有项目
这就是我当前的型号:
class Item < ActiveRecord::Base
has_and_belongs_to_many :events
end
class Event < ActiveRecord::Base
has_many :items
end
项目型号:
class Item < ActiveRecord::Base
has_and_belongs_to_many :events
end
class Event < ActiveRecord::Base
has_many :items
end
class项
事件模型:
class Item < ActiveRecord::Base
has_and_belongs_to_many :events
end
class Event < ActiveRecord::Base
has_many :items
end
class事件
我在别处读到,我可以有这样一个模型,我可以使用:虽然。然后,该模型将拥有每个事件拥有的所有项
事件列表
class EventList < ActiveRecord::Base
belongs_to :item
belongs_to :event
end
class事件列表
我希望URL路由看起来像:
domain.com/Event/:id/items/
domain.com/Event/:id/items/(签入或签出)
这是正确的做事方式吗?我是否应该有另一个表并使用:虽然=>名称来处理此特定问题 你把两者混在一起了。如果您使用的具有且属于多个模型,则这两种模型都应该这样定义。即
Item Model:
class Item < ActiveRecord::Base
has_and_belongs_to_many :events
end
项目模型:
类项
事件模型:
class Event < ActiveRecord::Base
has_and_belongs_to_many :items
end
class事件
如果您想使用:通过表,您只需使用就可以定义这两个表
至于你应该用哪一个。他们都是对的。下面的链接解释了何时使用其中一种。(基本上,如果您想处理联接表,请使用:通过方式,否则有\u和\u属于\u多个就可以了)