【发布时间】:2011-07-17 01:33:56
【问题描述】:
我不知道如何设置一个表单来创建一个新的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) 如何使用accepts_nested_attributes_for 创建study?
3) 一项研究应该只属于一个用户。我需要将user_id 添加到每个其他对象中以存储关联吗?
自从 2 周的广泛学习以来,我对 Rails 完全陌生。抱歉问了一个愚蠢的问题。
【问题讨论】:
-
图表是用什么软件画的?
-
@gmile 我用过cacoo.com
标签: ruby-on-rails-3 associations nested-forms database-relations