我是 Rails 新手,仍在学习关联,我被困在模型关系中。
我有一个想要与两个父模型关联的模型,以便在创建该模型的实例时,它会自动与两个父模型关联。我不确定这是否是多态关系。如果是,有人可以告诉我如何处理创建,以便创建正确的链接。我并没有从文档中获得多态关系。
目前我正在使用一个模型进行创建并将条目添加到另一个模型。我想有一种方法可以让这种情况自动发生,但我不知道该怎么做。
当前实施:
entry = @pool.entries.create(new_entry_params)
current_user.entries << entry
current_user.save
我想以这种方式进行设置,以便我可以轻松地从用户实例和池实例中显示特定用户的所有条目。
这是我到目前为止的模型/数据库设置:
楷模:
class User < ActiveRecord::Base
has_many :pools, through: :pool_memberships, dependent: :destroy
has_many :entries, dependent: :destroy
end
class Pool < ActiveRecord::Base
has_many :users, through: :pool_memberships, dependent: :destroy
has_many :entries, dependent: :destroy
end
class Entry < ActiveRecord::Base
belongs_to :user
belongs_to :pool
end
入境迁移表:
class CreateEntries < ActiveRecord::Migration
def change
create_table :entries do |t|
t.references :pool, index: true
t.references :user, index: true
t.string :name
t.integer :pool_id
t.integer :user_id, index: true
t.timestamps
end
end
end
这是这样做的“Rails”方式吗?还是我离基地太远了。谢谢你的帮助!