提交表单以创建简单对象时,出现 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'
我已经用 Google 搜索并通过 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 的主机配置问题。我倾向于相信这是我的错误。
我一直在努力解决这个问题,但没有运气。任何帮助表示赞赏!