【发布时间】:2015-12-07 21:49:59
【问题描述】:
当我尝试访问我的 URL /guestbooks 时,我继续在 Papertrail 日志中收到此错误消息。
这条路线在 localhost 上运行良好,但在 Heroku 上却不行。我的 Rails 命名约定关闭了吗?我认为他们是对的,但我可能错了。
我尝试运行rake db:rest,然后尝试运行rake db:drop db:create db:migrate,这表明我的迁移文件中出现错误,所以我删除了它们,然后再次运行命令,不再收到来自PG的迁移文件错误.
我尝试提交更改并运行heroku run rake db:migrate,但我的错误仍然存在。下面是我的 MVC 和路由。
class GuestbooksController < ApplicationController
before_action :load_page
def index
@guestbook = Guestbook.new
end
def create
@guestbook = Guestbook.new(guestbook_params)
if @guestbook.save
flash.now[:notice] = "Thanks for taking the time to write us! We greatly appreciate it!"
render :index
else
flash.now[:notice] = "Your message failed to post, please try again"
render :index
end
end
private
def load_page
@guestbooks = Guestbook.page(params[:page])
end
def guestbook_params
params.require(:guestbook).permit(:name, :email, :message)
end
end
我的架构
create_table "guestbooks", force: :cascade do |t|
t.string "name"
t.string "email"
t.text "message"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
我的模型
class Guestbook < ActiveRecord::Base
paginates_per 5
end
【问题讨论】:
-
rake db:drop db:create db:migrate 在 Heroku 上不起作用,您需要先执行
heroku pg:reset,然后再执行heroku run rake db:migrate -
我正在查看,但找不到确切的语法。我必须指定一个特定的数据库。会是 heroku pg:reset, :guestbooks 吗? @约翰贝农
-
no
heroku pg:reset DATABASE -
@JohnBeynon 感谢您的回答,事实证明这并没有解决我的问题。然后运行迁移任务,它仍然存在。
标签: ruby-on-rails activerecord heroku