你需要需要安装mysql2, 在命令行中输入gem install mysql2,等待安装完成后,进入你创建的项目路径,修改config/databaseyml:
adapter: mysql2
encoding: utf8
database: 数据库名
username: 账号(root)
password: 密码
pool: 5
timeout: 5000
修改Gemfile:
将gem 'sqlite3' 改为 gem 'mysql2'
首先检查一下你的mysql服务打开没有
你再检查一下/config/databaseyml
项目默认的好像是链接sqlite3
默认值
# SQLite version 3x
# gem install sqlite3-ruby (not necessary on OS X Leopard)
development:
adapter: sqlite3
database: db/developmentsqlite3
timeout: 5000
# Warning: The database defined as 'test' will be erased and
# re-generated from your development database when you run 'rake'
# Do not set this db to the same as development or production
test:
adapter: sqlite3
database: db/testsqlite3
timeout: 5000
production:
adapter: sqlite3
database: db/productionsqlite3
timeout: 5000
-----------------------
mysql应该的是
# SQLite version 3x
# gem install sqlite3-ruby (not necessary on OS X Leopard)
development:
adapter: mysql
database: 项目的数据库名
username: root
password: 你的密码
socket: /path/to/your/mysqlsock
# Warning: The database defined as 'test' will be erased and
# re-generated from your development database when you run 'rake'
# Do not set this db to the same as development or production
test:
adapter: mysql
database: 项目的数据库名
username: root
password: 你的密码
socket: /path/to/your/mysqlsock
production:
adapter: mysql
database: 项目的数据库名
username: root
password: 你的密码
socket: /path/to/your/mysqlsock
Rails的初始准备见:Rails 处理跨站请求
准备完这个,接下来我们就只要管Control怎么写就行了。
首先来尝试一下get,最简单。
def index json_str = {"xx" => "hello"}to_json render :json=>json_str, status=>'200' end
在这里我们用了一个to_json方法来处理,把Hash转换为json格式,to_json方法是Rails中特有的,并非Ruby本身的方法。
接着我们就可以滚去前端了:
在需要调用的位置使用:$>
以上就是关于rails无法连接mysql数据库,搞不定,求救全部的内容,包括:rails无法连接mysql数据库,搞不定,求救、我要用ruby on rails连接Mysql,可是总是不行、rails怎么给前端写api实现前后端分离等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)