Rails - 在本地主机上创建内部服务器错误(500)
Posted
技术标签:
【中文标题】Rails - 在本地主机上创建内部服务器错误(500)【英文标题】:Rails - Create internal server error (500) at localhost 【发布时间】:2012-05-12 14:32:22 【问题描述】:当我访问没有数据的 URL 时,我看不到 500 错误,而是显示“模板丢失”错误。同时,当我在服务器上运行它时,它显示了 500 错误。我需要在本地机器上进行测试。那么请告诉我如何在 localhost 上创建这样的情况?
感谢和问候, 拉杰什
【问题讨论】:
首先,接受一些答案。其次,您要查找的是 404 而不是 500 错误。 @Bongs,Simpleton:我怎样才能接受答案?是通过投票来回答吗?如果是,我的声望应该在 15 岁以上,而我没有。我是初学者,请合作。 meta.stackexchange.com/a/5235 这会帮助你 【参考方案1】:这是一个简单的问题,您的相应视图不存在。打开与您的 url 对应的控制文件。然后查看正在调用的操作,然后查看 app/views/ 文件夹中是否有相应的视图。
500 错误的原因与 500 表示服务器端存在内部错误相同。
另外,不要更改 url 的字符之类的东西。它不会工作!
【讨论】:
您好,Unsung,感谢您的反馈。但是,对于相同的代码库和产品 URL,生产服务器通过显示我们为 500 错误创建的布局返回 500 错误(因为产品不存在于服务器数据库中)。为什么它没有发生在本地主机上?? 可能是异常处理场景。您的控制器可能会抛出异常,或者可能会抛出代码中未处理的错误。您需要验证如何在代码级别处理产品不在数据库中的场景。我一直怀疑问题出在处理方式上。【参考方案2】:如果你在生产模式下运行服务器,你可以在localhost中创建这样的情况:rails s -e production
(当然,如果错误仍然存在)
【讨论】:
【参考方案3】:如果您收到模板丢失错误,很可能是因为您缺少给定控制器操作的视图文件
例如:如果您有一个名为 users 的控制器
class UsersController < ApplicatationController
def index
end
end
默认情况下,rails 期待一个视图
app/views/users/index.html.erb
(或haml)
但是,如果您可以发布您收到的错误日志,我们可能会为您提供更多帮助
问候
同人
【讨论】:
'0.0.0.0:3000/-avesani-3ygcc-55dsl-sunglasses_r9' 是我们收到模板缺失错误的 localhost URL。此 URL 用于显示特定产品的功能,当我们从产品列表中单击同一产品时,我们将被重定向到此 URL。如果我们更改 URL 中的某些内容并按 Enter 键,我们会收到 Template missing 错误。但是在生产域中,即在服务器上,对应于同一产品的 URL 显示 500 错误。我需要在本地主机上创建它。我将向您展示显示的模板错误。请帮助我。 模板丢失缺少模板页/-avesani-3ygcc-55dsl-sunglasses_r1 与 :formats=>[:html], :handlers=>[:rjs, :rhtml, :haml, :rxml , :erb, :builder], :locale=>[:en, :en] 在视图路径 "/home/rajesh/www/shoppingsaver/Source/app/views", "/home/rajesh/www/shoppingsaver/ Source/vendor/plugins/tabnav/app/views”, “/home/rajesh/www/shoppingsaver/Source/vendor/plugins/recaptcha/app/views”, “/var/lib/gems/1.8/gems/kaminari- 0.12.4/app/views", "/home/rajesh/www/shoppingsaver/Source", "/" 嗨@rajesh,你能否提供控制器方法来了解你如何获取产品详细信息(似乎这是一个产品名称),通常在这样的情况下我们通过产品名称,它呈现部分细节,顺便说一句,你确定你的产品名称是正确的吗? (-avesani-3ygcc-55dsl-sunglasses_r1) 因为开头有一个 - 有点奇怪:) 好的,尝试在生产模式下运行 localhost ruby script/server -e production(或 Rails3 中的 rails s),看看它是否和服务器一样工作,因为默认的 localhost 在开发模式下运行并且服务器很可能在生产模式下运行以上是关于Rails - 在本地主机上创建内部服务器错误(500)的主要内容,如果未能解决你的问题,请参考以下文章
当我在本地主机上运行我的服务器时出现问题(ruby on rails)