我不知道如何设置一个将创建一个新的表单,Study
同时创建相关StudySubject
的和Facility
. 如您在数据库关系模型中所见user_id
,facility_id
和study_subject_id
必须可用于创建对象。Study
这是studies
. 其他表不包含外键。
def self.up
create_table :studies do |t|
t.references :user
t.references :facility
t.references :subject
t.date "from"
t.date "till"
t.timestamps
end
add_index :studies, ["user_id", "facility_id", "subject_id"], :unique => true
end
这些模型定义了以下关联。
# user.rb
has_many :studies
# subject.rb
has_many :studies
# facility.rb
has_many :studies
# study
belongs_to :user
belongs_to :subject
belongs_to :facility
问题
1)has_many
和belongs_to
定义是否正确?
2)我怎样才能创建一个study
using Accepts_nested_attributes_for?
3) 一项研究应该只属于一个用户。我是否需要添加user_id
到每个其他对象来存储关联?
经过 2 周的广泛学习,我对 Rails 完全陌生。对不起,也许是一个愚蠢的问题。