the*_*ter 7 activerecord ruby-on-rails associations has-many ruby-on-rails-4
我正在开发一个Rails项目(Rails版本4.2.3).我创建了一个User和Task模型,但在创建过程中没有包含它们之间的任何关联.现在我希望一个user 人有tasks一个task属于一个人user.
通过rails g migration AddUserToTask user:belongs_to从这个线程
我能插入任务表的外键USER_ID.但是如何添加has_many迁移呢?我更新了User模型:
class User < ActiveRecord::Base
has_many :customers
end
Run Code Online (Sandbox Code Playgroud)
但我不知道如何编写迁移.到目前为止我写了这个:
class addTasksToUser < ActiveRecords::Migration
def change
update_table :users do |t|
t.has_many :tasks
end
add_index :users, taks_id
end
end
Run Code Online (Sandbox Code Playgroud)
但是rake db:migrate没有采取任何行动.这是建立has_many关系的正确方法吗?
And*_*eko 21
在模型中设置关联:
class User < ActiveRecord::Base
has_many :tasks
end
class Task < ActiveRecord::Base
belongs_to :user
end
Run Code Online (Sandbox Code Playgroud)
删除您显示的迁移文件.
添加对tasks表的引用(假设您已经有tasks表):
rails g migration add_references_to_tasks user:references
Run Code Online (Sandbox Code Playgroud)
迁移数据库:
rake db:migrate
Run Code Online (Sandbox Code Playgroud)
如果您还没有tasks表,请创建一个:
rails g migration create_tasks name due_date:datetime user:references # add any columns here
Run Code Online (Sandbox Code Playgroud)
迁移数据库:
rake db:migrate
Run Code Online (Sandbox Code Playgroud)
从现在开始,您的任务将具有user_id属性.
| 归档时间: |
|
| 查看次数: |
9501 次 |
| 最近记录: |