gpt4 book ai didi

ruby-on-rails - act_as_list 与 has_and_belongs_to_many 关系

转载 作者:行者123 更新时间:2023-12-04 02:54:27 25 4
gpt4 key购买 nike

我找到了一个名为 act_as_habtm_list 的旧插件 - 但它适用于 Rails 1.0.0。

现在这个功能是内置在acts_as_list 中的吗?我似乎无法找到任何有关它的信息。

基本上,我有一个 Artist_events 表 - 没有模型。该关系通过指定 :has_and_belongs_to_many 的这两个模型处理

在这种情况下如何指定顺序?

最佳答案

我假设您有两个模型 - 艺术家和事件。

您希望在它们之间建立 habtm 关系,并且希望能够为每个艺术家定义事件的顺序。

这是我的解决方案。我正在从头开始编写这段代码,但类似的解决方案适用于我的情况。我很确定还有改进的余地。

我正在使用 rails act_as_list 插件。

这就是我定义模型的方式:

class Artist < ActiveRecord::Base
has_many :artist_events
has_many :events, :through => :artist_events, :order => 'artist_events.position'
end

class Event < ActiveRecord::Base
has_many :artist_events
has_many :artists, :through => :artist_events, :order => 'artist_events.position'
end

class ArtistEvent < ActiveRecord::Base
default_scope :order => 'position'
belongs_to :artist
belongs_to :event
acts_as_list :scope => :artist
end

如您所见,您需要一个额外的模型 ArtistEvent,加入其他两个模型。 Artist_events 表应该有两个外部 ID 和附加列 - 位置。

现在您可以使用acts_as_list 方法(不幸的是在ArtistEvent 模型上)但是类似

Artist.find(:id).events

应该以正确的顺序为您提供属于特定艺术家的事件列表。

关于ruby-on-rails - act_as_list 与 has_and_belongs_to_many 关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2274934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com