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