2010-12-18 39 views
0

所以今天我第一次和RoR一起使用本书'Rails for PHP developers'。我正在关注那里的教程。Ruby on Rails新手:如何获得体面的错误报告?

我创建了一个项目,模型Subscriber和控制器Subscribers,它有一个方法create。然后我跑了ruby script/server发动Mongrel。

现在,这本书说,如果我去http://localhost:3000/subscribers/create我应该得到一个错误,因为没有模板关联(但)这个动作。该书显示了该错误消息:

模板失踪
缺少模板用户/ create.html.erb鉴于路径/用户/德里克/工作/通讯/应用/视图

一很好的描述性错误信息,非常有帮助。但我得到的错误是:

很抱歉,发生了什么问题。
我们已收到有关此问题的通知,我们很快就会对其进行审查。

该错误根本没有帮助。我怀疑这与书中使用WEBrick的事实有关,而我使用Mongrel。但我认为应该可以得到更多的描述性错误,对吧?像这样的错误发展似乎非常痛苦。

+0

“如何获得体面的错误报告?”怎么样?把体面的错误!? :-) – 2010-12-19 03:09:52

回答

1

它看起来像你的一些Rails的安装是半borked。您可能会缺少mysql gem,或者可能没有正确配置mysql ActiveRecord适配器。

使用宝石清单,看看您已经安装

$ sudo gem list 

你可以使用宝石install命令安装或更新宝石

$ sudo gem install rails mysql 

通常你想安装使用sudo宝石的宝石(如根)所以所有的用户可以使用它们(如Apache或万维网数据)

对不起,您的第一次尝试在Rails一直不顺利,相信我这是一个非常强大的框架。用它来攻击!

+0

MySQL gem的确没有正确安装。我发现了一个关于如何解决此问题的优秀教程:http://techliberty.blogspot.com/2009/12/dealing-with-rake-aborted-uninitialized.html – Rits 2010-12-18 23:34:10

+0

注意:最新版本的rails是3种东西,而您的书可能使用2.3.5或在那附近。有很大的差异。 使用 $ sudo的创业板安装导轨-v = 2.3.5 安装特定版本 你可能想卸载你想不想万一 $ sudo的宝石卸载轨道 任何版本,它会给你一个交互式菜单。 注意--no-ri和--no-rdoc标志将使其更快。 例如sudo gem install rails --no-ri --no-rdoc – EnabrenTane 2010-12-18 23:37:59

0

您可能忘记设置数据库。您可以检查log/development.log以获取更多详细信息。

+0

我已经建立了数据库。开发日志说:'状态:500内部服务器错误未初始化的常量MysqlCompat :: MysqlRes' – Rits 2010-12-18 23:12:13

+0

当你运行rake db:migrate会发生什么? – daLizard 2010-12-18 23:16:15

+0

'耙子中止了!未初始化的常量MysqlCompat :: MysqlRes(通过使用--trace运行任务查看完整跟踪)' – Rits 2010-12-18 23:17:28

0

如果您正在开发模式下运行,您只会收到第一条消息。

+0

如何进入开发模式? – Rits 2010-12-18 23:12:58

+0

我想我已经处于开发模式,因为我在development.log中获取消息,但在test.log和production.log中获得了消息 – Rits 2010-12-18 23:25:16

+0

脚本/服务器默认为开发。 导轨3约定是导轨服务器,但是做同样的事情。你的书可能教导轨2.3.x – EnabrenTane 2010-12-18 23:35:38