2016-08-03 20 views
-1

我有從http://www.tutorialspoint.com/ruby-on-rails/rails-active-records.htm的Ruby-on-Rails的數據庫安裝使用MySQL

首先教程以下數據庫安裝過程中對Ruby on Rails的一個問題,我創建使用下面的代碼一個新的項目,

C:\projects>rails new libray 

它成功創建了該項目。我跟着數據庫安裝使用mysql然後更改了database.yml的內容。

從代碼(原值從新鮮創建的項目)

default: &default 
    adapter: sqlite3 
    pool: 5 
    timeout: 5000 

development: 
    <<: *default 
    database: db/development.sqlite3 

# 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: 
    <<: *default 
    database: db/test.sqlite3 

production: 
    <<: *default 
    database: db/production.sqlite3 

要新代碼:

development: 
    adapter: mysql 
    database: library_development 
    username: root 
    password: 1234 
    host: localhost 

test: 
    adapter: mysql 
    database: library_test 
    username: root 
    password: 1234 
    host: localhost 

production: 
    adapter: mysql 
    database: library_production 
    username: root 
    password: 1234 
    host: localhost 

接下來是用代碼來創建活動記錄

C:\projects>library>rails generate model book 

但我得到以下錯誤。

Click to see error in img

我是新來Ruby on Rails的,任何幫助是極大的讚賞。

+0

'發展:'刪除縮進,看看怎麼樣,'測試:生產:'被定義爲 – mrvncaragay

+0

@mrvncaragay已經更新了我的問題,但仍然出現問題 – autoconnect89

+0

請刪除database.yml中的標籤空間 –

回答

0

您似乎在database.yml文件中有一些語法錯誤。 yml文件遵循嚴格的縮進和語法,請使用縮進來嘗試此代碼。

不需要在每個環境中採取adapter, username, password, host and port

您可以創建default並可以重新使用這些值。

default: &default 
    adapter: mysql2 
    username: root 
    password: 1234 
    host: localhost 
    port: 3306 

development: 
    <<: *default 
    database: library_development 

test: 
    <<: *default 
    database: library_test 

production: 
    <<: *default 
    database: library_production 
+0

謝謝@Sravan – autoconnect89

+0

如果我的回答對你有幫助,你可以接受。 – Sravan

0

我在創建項目時嘗試使用下面的代碼。

appliction_dir>rails new project_name -d mysql 

database.yaml內容將使用MySQL的配置。 然後你所要做的就是改變用戶名密碼

謝謝。

0

的問題是,你是對你的配置,但你只用在適配器 MySQL的應該是adapter: mysql2代替

+0

是的,非常感謝你的回答。當我創建新項目時,默認適配器是mysql2 – autoconnect89

+0

非常歡迎您 –