我是Active Record的新手。实际上我想创建两个模型学生和课程,其中一个学生有很多课程但课程只属于一个学生。我已经创建了模型和关联迁移,如下所示:
rails g Student roll_num:string name:string
rails g Course code:string name:string
学生的模型应该是理想的:
class Student < ActiveRecord::Base
has_many :course
end
那当然应该是理想的那样:
class Course < ActiveRecord::Base
belong_to: student
end
我的问题是这样的模型可以用rails g生成,如果是这样,怎么样?在创建模型后,如果我指定关联,那么我必须这样做,以便它反映在数据库中,我的意思是外键在课程表中创建。我是否必须为此单独进行迁移?
答案 0 :(得分:1)
rails g model Student roll_num:string name:string
rails g model Course code:string name:string student:references:index
另外,学生has_many:课程
答案 1 :(得分:0)
首先在学生模型中更改您的关联
has_many :course
您的迁移文件应包含外键
class CreateCourses < ActiveRecord::Migration
def change
create_table :courses do |t|
# your columns
t.references :student
t.timestamps
end
end
end
相同 见http://sunilsharma3639.wordpress.com/2014/01/10/things-which-rails-could-do-but-i-didnt-know/
希望它能帮到你