提交表单来创建一个简单的对象时,我收到一个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的主机配置问题。我倾向于认为这是我的错误。
我现在已经开了一段时间了,没有运气。任何帮助表示赞赏!
答案 0 :(得分:0)
是否邮寄#post邮件? 应该将ActionMailer配置为在Cedar堆栈上手动使用sendgrid: