Seedfile无法正常工作

时间:2015-09-03 03:19:24

标签: ruby-on-rails ruby-on-rails-4 activerecord

我正在尝试运行种子文件并使用数据填充表。我的message表看起来像这样:

id | copy_for_user_id | senders_id | recipients_id | note | created_at | updated_at | friend_request | category | observed | confirmed | rejected 

我的种子文件如下所示:

Message.delete_all

Message.create!({
  copy_for_user_id: 8,
  senders_id: 8,
  recipients_id: 9,
  note: "I love you",
  friend_request: false,
  category: "message",
  observed: false,
  confirmed: false,
  rejected: false
})

当我运行rake db:seed并重新检查我的数据库时,没有任何变化。我很困惑。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果您想一次创建单个对象,请使用以下内容删除{}括号

Message.create(copy_for_user_id: 8, senders_id: 8, recipients_id: 9, note: "I love you", 
          friend_request: false, category: "message", observed: false, confirmed: false, rejected: false)

或者

Message.create!(copy_for_user_id: 8, senders_id: 8, recipients_id: 9, note: "I love you", 
              friend_request: false, category: "message", observed: false, confirmed: false, rejected: false)

如果你想一次创建多个对象,那么你可以传递一个哈希数组,如

Message.create!([{copy_for_user_id: 8, senders_id: 8, recipients_id: 9, note: "I love you",
                friend_request: false, category: "message", observed: false, confirmed: false, rejected: false}])

如果有任何错误,它应该引发异常,如果不起作用,您可以尝试使用模型callbackvalidations注释,然后您就可以了解发生了什么。