做heroku run rails db:migrate
后,我得到这个错误的堆栈跟踪其中包括:Heroku的运行轨道分贝:迁移
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR: relation "categories" does not exist: CREATE TABLE "products" ("id" serial primary key, "title" character varying, "description" character varying, "category_id" integer, "picture" character varying, "video" character varying, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL, CONSTRAINT "fk_rails_fb915499a4"
FOREIGN KEY ("category_id") REFERENCES "categories" ("id"))
然后我跑heroku run:detached rake db:migrate
和它的工作。
但是,当我去到现场的网址,我得到这个错误:
ActiveRecord::StatementInvalid in WelcomeController#index
PG::UndefinedTable: ERROR: relation "products" does not exist LINE 1: SELECT "products".* FROM "products" ORDER BY "products"."cr...^: SELECT "products".* FROM "products" ORDER BY "products"."created_at" ASC LIMIT $1
编辑:
class WelcomeController < ApplicationController
def index
end
end
而且错误指向该行:
@all_products = Product.order(created_at: :asc).last(4)
定义在application_controller.rb
像这样:
def getProducts
@all_products = Product.order(created_at: :asc).last(4)
end
在welcome/index.html.erb
中使用了@all_products
变量来显示最近4次上传的产品。
它被称为像这样:
<div class="text-center">
<% if @all_products.present? %>
<% @all_products.each do |p| %>
<a href="<%= p.picture() %>" data-toggle="lightbox" data-gallery="example-gallery" data-title="<%= p.title %>">
<%= image_tag(p.picture.url, size: '200x200', class: 'rounded') %>
</a>
<% end %>
<% end %>
</div>
看到上面的更新 – JohnnyDevv
上面的另一个更新 – JohnnyDevv
你有在数据库中的记录? –