我对RoR很新...我安装了Ruby并安装了它的宝石......
然后下载并安装了MySql ...
创建了我的第一个目录demo。
然后使用 ruby脚本/服务器
启动服务器在浏览器中输入了http://localhost:3000网址并获得了“欢迎登机”页面。直到现在一切都很好......
现在我使用 ruby脚本/生成控制器Say
创建一个控制器创建控制器,它看起来像这样
class SayController < ApplicationController
def hello
end
end
然后我创建一个视图文档 hello.html.erb ,看起来像这样..
<html>
<body>
<h1>Hello World!!!</h1>
</body>
</html>
现在我在浏览器中输入了网址http://localhost:3000/say/hello,我收到以下错误
此应用程序无法启动,因为找不到sqlite3.dll。重新安装应用程序可能会解决此问题。并且浏览器显示默认错误页面
我做了一些谷歌搜索,并尝试了以下..
1.gem install sqlite-ruby
2.gem install sqlite3-ruby
第一个返回成功消息....第二个最初给出了成功消息,然后充满了无定义错误。
我甚至没有开始使用模型......为什么它甚至在sqlite中抛出异常......?!我完全迷茫并迷失在这里,因为这是我第一次尝试使用RoR ......
提前感谢...
答案 0 :(得分:2)
sqlite3自Rails 2.0.2以来一直是默认数据库 - 以前它是MySQL。数据库配置位于config / database.yml中,您可以根据需要进行更改。
即使没有模型,rails也会尝试确保在database.yml中指定的实际DBMS可供使用。
您安装的gem是“驱动程序”,让您通过ruby(类似于Java中的JDBC驱动程序或.NET的ADO.NET驱动程序)与数据库通信 - 而不是实际的DBMS。 (sqlite3-ruby是正确的 - 我不确定为什么它会显示所有那些“没有定义...”的行 - 它也适用于我,但它确实有用。也许其他人知道为什么......)
.dll是DBMS。 SQLite3是一个非常轻量级的数据库 - 在路径中删除.dll实际上就是你需要做的。将它放在ruby / bin目录中是开发机器的常见做法。
答案 1 :(得分:0)
找到了一个解决方案...不知道它是黑客还是解决方法......但它确实有效...我制作了sqlite3.dll的副本并将其粘贴在ruby / bin floder中并且可以正常工作。 !!
但我想知道这是否是真正的解决方案......