5
我设法使用act_as_list
与我的模型(这很容易)一个接一个,但现在我有一个问题。Rails - acts_as_list与多个模型
在我的应用程序中有3个型号:Facility
,Service
和Activity
。我需要在他们的工会上使用acts_as_list
...是否有可能这样做?
希望我的问题是清楚的
我设法使用act_as_list
与我的模型(这很容易)一个接一个,但现在我有一个问题。Rails - acts_as_list与多个模型
在我的应用程序中有3个型号:Facility
,Service
和Activity
。我需要在他们的工会上使用acts_as_list
...是否有可能这样做?
希望我的问题是清楚的
您应该使用第四个模型,多态关联,再穿上该列表。
首先,阅读了关于多态关联明白这一点:http://guides.rubyonrails.org/association_basics.html#polymorphic-associations
现在,你想有一个类,看起来像这样:
class Position < ActiveRecord::Base
belongs_to :positionable, polymorphic: true
end
而且看起来像这样一个迁移:
class CreatePositions < ActiveRecord::Migration
def change
create_table :position do |t|
t.integer :positionable_id
t.string :positionable_type
t.timestamps
end
end
end
然后在其他每个模型的补充一点:
class Facility < ActiveRecord::Base
has_one :position, as: :positionable
# ...
end
你可以在整体结构上稍微扩大一点吗?像拥有Positionable模型一样,使用positionable_id。那么有其他三个模型have_one,可定位? – Galaxy 2012-05-10 04:16:57
这让我走上正轨!辉煌。 – Galaxy 2012-05-15 11:55:14
fyi,ryan bates刚刚在主题上有一个railscast:http://railscasts.com/episodes/154-polymorphic-association-revised – 2012-05-23 18:39:13