当我尝试访问我的网址/留言簿时,我在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
答案 0 :(得分:0)
问题是我没有任何迁移(只有schema.rb)。如果需要,可以删除所有迁移,但是如果需要,则需要运行rake db:setup以使用schema.rb来设置数据库(rake db:reset只会查找迁移)。