我正在尝试在名为chat的rails中创建一个模型,其中我有两列user1和user2,我想将用户对象存储在这些中。在grails中,我这样做只是为了
class Chat {
User user1
User user2
Date chatStartedOn
}
我完成了。我对rails
做了一些相同的事情rails generate model Chat user1:User user2:User chatStartedOn:date
但我运行db:migrate它显示错误
undefined method `User' for #<ActiveRecord::ConnectionAdapters::TableDefinition
我的用户迁移文件
class CreateUsers < ActiveRecord::Migration
def change
create_table :users do |t|
t.string :username
t.string :email
t.string :encrypted_password
t.string :salt
t.timestamps
end
end
end
请指导我如何在聊天表中保存用户的对象。
答案 0 :(得分:0)
试试这个
rails generate migration CreateChats
然后,您可以在聊天迁移文件中添加此代码
class CreateChats < ActiveRecord::Migration
def change
create_table :chats do |t|
t.integer :user1_id, :references => [:users, :id]
t.integer :user2_id, :references => [:users, :id]
t.date :chatStartedOn
t.timestamps
end
end
end
然后你需要添加关联
模型user.rb
has_one :chat
模型chat.rb
belongs_to :user1, :class_name => "User"
belongs_to :user2, :class_name => "User"