在heroku服务器上使用mailgun的Ruby错误

时间:2017-05-05 06:46:37

标签: ruby-on-rails heroku mailgun

我正在尝试使用mailgun在heroku服务器上创建一个“联系我们”页面。我相当自信我把它设置正确(我正在通过跟随upskillcources.com为这个项目做饭),但我总是得到这个错误“我们很抱歉,但出了点问题。” 以下是适用于我的heroku日志:

2017-05-05T06:16:10.020320 + 00:00 app [web.1]:WHERE a.attrelid ='“contacts”':: regclass 2017-05-05T06:16:10.020321 + 00:00 app [web.1]:AND a.attnum> 0而不是a.attisdropped 2017-05-05T06:16:10.020322 + 00:00 app [web.1]:订购a.attnum 2017-05-05T06:16:10.020323 + 00:00 app [web.1] :): 2017-05-05T06:16:10.020344 + 00:00 app [web.1]:F,[2017-05-05T06:16:10.020309#4]致命 - :[2777b122-a496-4a3d-b6b7-08b32fc56cd4]
2017-05-05T06:16:10.020377 + 00:00 app [web.1]:F,[2017-05-05T06:16:10.020344#4]致命 - :[2777b122-a496-4a3d-b6b7-08b32fc56cd4] app / controllers / contacts_controller.rb:3:在'new'

我不知道错误日志中的代码可能出现什么问题,特别是因为我可以看到contacts_controller.rb文件与使用相同资源upskill资源的多人的github上找到的相同项目代码相同。

class ContactsController < ApplicationController
  def new
    @contact = Contact.new
  end

  def create
    @contact = Contact.new(contact_params)
    if @contact.save
      name = params[:contact][:name]
      email = params[:contact][:email]
      body = params[:contact][:comments]
      ContactMailer.contact_email(name, email, body).deliver
      flash[:success] = "Message sent."
       redirect_to new_contant_path #this should be contact path I think, but a c9 error suggested this instead and wouldn't work without the change dispite it being different than the codes on github for the same project.
    else
      flash[:danger] = @contact.errors.full_messages.join(", ")
       redirect_to new_contact_path
    end  
  end

  private
    def contact_params
      params.require(:contact).permit(:name, :email, :comments)
    end

end

请告诉我以后的参考资料我将如何更好/更具体地在这里提问,对不起我制作它有多困难,这是我的第一个编程项目超越'你好世界'和一个待办事项非常感谢您抽出宝贵时间!

1 个答案:

答案 0 :(得分:0)

您的日志表明您在数据库中没有表。 您需要创建并运行迁移。详情请见http://edgeguides.rubyonrails.org/active_record_migrations.html

此外,您需要记住Heroku默认情况下不会为您运行迁移。因此,您需要在部署代码后调用heroku run rake db:migrate。但是,您可以通过向Procfile添加release命令来自动执行此过程。详细说明:http://aspiringwebdev.com/run-rails-migrations-automatically-on-heroku/