Ich lerne Ruby nur auf Schienen. Ich habe zwei Datenbanktabellen erstellt: Trainer und Tokimons. Alles funktioniert gut auf dem lokalen Host (einschließlich der Datenbank), aber etwas ging auf Heroku schief. HierRuby on Rails App funktioniert auf lokalen Host, aber nicht auf heroku
ist der log:
2016-10-13T21:51:16.840425+00:00 heroku[router]: at=info method=GET path="/" host=a2-tokimon.herokuapp.com request_id=2f86b075-8d64-4616-984a-304df86d9768 fwd="142.58.35.51" dyno=web.1 connect=2ms service=11ms status=500 bytes=1669
2016-10-13T21:51:16.851541+00:00 app[web.1]: Started GET "/" for 142.58.35.51 at 2016-10-13 21:51:16 +0000
2016-10-13T21:51:16.854395+00:00 app[web.1]: Processing by WelcomeController#index as HTML
2016-10-13T21:51:16.858208+00:00 app[web.1]: Rendered welcome/index.erb within layouts/application (3.1ms)
2016-10-13T21:51:16.858340+00:00 app[web.1]: Completed 500 Internal Server Error in 4ms (ActiveRecord: 2.3ms)
2016-10-13T21:51:16.859867+00:00 app[web.1]:
2016-10-13T21:51:16.859872+00:00 app[web.1]: ActionView::Template::Error (PG::UndefinedTable: ERROR: relation "trainers" does not exist
2016-10-13T21:51:16.859873+00:00 app[web.1]: LINE 1: SELECT "trainers".* FROM "trainers"
2016-10-13T21:51:16.859874+00:00 app[web.1]: ^
2016-10-13T21:51:16.859874+00:00 app[web.1]: : SELECT "trainers".* FROM "trainers"):
2016-10-13T21:51:16.859875+00:00 app[web.1]: 51:
2016-10-13T21:51:16.859876+00:00 app[web.1]: 52:
2016-10-13T21:51:16.859877+00:00 app[web.1]: 53: <tbody>
2016-10-13T21:51:16.859877+00:00 app[web.1]: 54: <% @trainer.each do |trainer| %>
2016-10-13T21:51:16.859878+00:00 app[web.1]: 55: <tr class="<%= cycle('oddline', 'evenline') %>">
2016-10-13T21:51:16.859879+00:00 app[web.1]: 56: <td><%= trainer.pname %></td>
2016-10-13T21:51:16.859880+00:00 app[web.1]: 57: <td><%= trainer.level %></td>
2016-10-13T21:51:16.859881+00:00 app[web.1]: app/views/welcome/index.erb:54:in `_app_views_welcome_index_erb__3990380873615253162_69847032979680'
2016-10-13T21:51:16.859882+00:00 app[web.1]:
2016-10-13T21:51:16.859882+00:00 app[web.1]:
Hier ist ein Teil der trainers_controller.rb
class TrainersController < ApplicationController
before_action :set_trainer, only: [:show, :edit, :update, :destroy]
# GET /trainers
# GET /trainers.json
def index
@trainer = Trainer.all
end
Hier wird ein Teil des welcome_controller.rb
class WelcomeController < ApplicationController
# GET /welcome
def index
@trainer = Trainer.all
end
end
Sie müssen die Datenbank für Heroku rechen, um die Tabellen zu erstellen. Wenn Sie die Heroku CLI laufen lassen 'heroku run rake db: migrieren' – teddybear
Hallo und Willkommen zu Stack Overflow. Wenn ich raten müsste, würde ich sagen, dass Sie vergessen haben, die Migration (oder das Schema) einzuchecken - denn im Grunde fehlt Ihrer Datenbank die Trainer-Tabelle. –
Danke Jungs. Ich werde es versuchen. Übrigens habe ich verwendet: Schienen generieren Gerüst Trainer pname: String ****** Tisch zu erstellen. Aber wenn man Trainer, Trainer und Trainer benutzt, verwirrt mich das. Kannst du mir helfen? –