POST提交时的Heroku SocketError

时间:2013-04-10 15:49:59

标签: ruby-on-rails heroku internal-server-error

提交表单来创建一个简单的对象时,我收到一个SocketError:

Completed 500 Internal Server Error in 526ms
SocketError (getaddrinfo: Name or service not known):
app/controllers/posts_controller.rb:58:in `block in create'
app/controllers/posts_controller.rb:57:in `create'

我已经谷歌并通过StackOverflow搜索,其他所有有类似错误的人似乎都在发送电子邮件。我不是 - 这只是一个创建属于用户的简单博客文章的表单。

此应用程序使用SendGrid(虽然此特定功能不使用它),但是,即使删除SendGrid后,SocketError仍然存在。

以下是来自控制器的代码,在错误消息中引用:

  # POST /posts
  # POST /posts.json
  def create
    @user = User.find(params[:user_id])
    @post = @user.posts.new(params[:post])

    respond_to do |format|
      if @post.save
        format.html { redirect_to user_posts_path, notice: 'Post was successfully created.' }
        format.json { render json: @post, status: :created, location: @post }
      else
        format.html { render action: "new" }
        format.json { render json: @post.errors, status: :unprocessable_entity }
      end
    end
  end

此外,提及此错误的其他帖子似乎与主机声明/ URL的/ URI以及生产环境文件中的奇怪配置有关。我似乎没有这些问题,我似乎无法确定这是我的应用程序的问题还是Heroku的主机配置问题。我倾向于认为这是我的错误。

我现在已经开了一段时间了,没有运气。任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

是否邮寄#post邮件? 应该将ActionMailer配置为在Cedar堆栈上手动使用sendgrid:

https://devcenter.heroku.com/articles/sendgrid#actionmailer