简体   繁体   English

在Heroku上上传种子数据时出错

[英]Error in uploading seed data on heroku

First of all, this is a homework question for edX Saas course but I am still posting it here as the error is not directly related to my homework. 首先,这是edX Saas课程的家庭作业问题,但由于错误与我的作业没有直接关系,因此我仍将其发布在此处。

I have made an application using Ruby on Rails and hosted it on heroku. 我已经使用Ruby on Rails制作了一个应用程序并将其托管在heroku上。 The application on my localhost is showing the names of all the movies but when I open it on heroku, there's no movie name visible. 我的本地主机上的应用程序显示了所有电影的名称,但是当我在heroku上打开它时,没有可见的电影名称。

I used heroku run rake:seed to update my seed data. 我使用heroku run rake:seed更新了我的种子数据。 And here is my seed file: 这是我的种子文件:

if count = Movie.count  > 0
Movie.delete_all
puts "deleting #{count} old rows of seed data"
end

movies = [{:title => 'Aladdin', :rating => 'G', :release_date => '25-Nov-1992'},
        {:title => 'The Terminator', :rating => 'R', :release_date => '26-Oct-1984'},
        {:title => 'When Harry Met Sally', :rating => 'R', :release_date => '21-Jul-1989'},
      {:title => 'The Help', :rating => 'PG-13', :release_date => '10-Aug-2011'},
      {:title => 'Chocolat', :rating => 'PG-13', :release_date => '5-Jan-2001'},
      {:title => 'Amelie', :rating => 'R', :release_date => '25-Apr-2001'},
      {:title => '2001: A Space Odyssey', :rating => 'G', :release_date => '6-Apr-1968'},
      {:title => 'The Incredibles', :rating => 'PG', :release_date => '5-Nov-2004'},
      {:title => 'Raiders of the Lost Ark', :rating => 'PG', :release_date => '12-Jun-1981'},
      {:title => 'Chicken Run', :rating => 'G', :release_date => '21-Jun-2000'},
     ]

movies.each do |movie|
 Movie.create!(movie)
end

When I tried running heroku run rails console followed by Movie.all . 当我尝试运行heroku run rails console然后再heroku run rails console Movie.all I got my database as: 我的数据库为:

[#<Movie id: 53, title: nil, rating: nil, description: nil, release_date: nil, created_at: "2014-11-30 18:29:18", updated_at: "2014-11-30 18:29:18">, #<Movie id: 54, title: nil, rating: nil, description: nil, release_date: nil, created_at: "2014-11-30 18:29:18", updated_at: "2014-11-30 18:29:18">, #<Movie id: 55, title: nil, rating: nil, description: nil, release_date: nil, created_at: "2014-11-30 18:29:18", updated_at: "2014-11-30 18:29:18">, #<Movie id: 56, title: nil, rating: nil, description: nil, release_date: nil, created_at: "2014-11-30 18:29:18", updated_at: "2014-11-30 18:29:18">, #<Movie id: 57, title: nil, rating: nil, description: nil, release_date: nil, created_at: "2014-11-30 18:29:18", updated_at: "2014-11-30 18:29:18">, #<Movie id: 58, title: nil, rating: nil, description: nil, release_date: nil, created_at: "2014-11-30 18:29:18", updated_at: "2014-11-30 18:29:18">, #<Movie id: 59, title: nil, rating: nil, description: nil, release_date: nil, created_at: "2014-11-30 18:29:18", updated_at: "2014-11-30 18:29:18">, #<Movie id: 60, title: nil, rating: nil, description: nil, release_date: nil, created_at: "2014-11-30 18:29:18", updated_at: "2014-11-30 18:29:18">, #<Movie id: 61, title: nil, rating: nil, description: nil, release_date: nil, created_at: "2014-11-30 18:29:18", updated_at: "2014-11-30 18:29:18">, #<Movie id: 62, title: nil, rating: nil, description: nil, release_date: nil, created_at: "2014-11-30 18:29:18", updated_at: "2014-11-30 18:29:18">]

Why is the data like title, rating, description etc nil, while I can see them in my locally hosted application? 为什么在我在本地托管的应用程序中可以看到标题,等级,描述等数据为零?

Try something like this: 尝试这样的事情:

m = Movie.new :title => 'Aladdin', :rating => 'G', :release_date => '25-Nov-1992'
m.save

Then try: 然后尝试:

movies.each do |movie|
 m = Movie.new(movie) #given that movie is in the format above. 
 m.save
end

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM