先和大家分享一個經驗,昨天在建立專案及model時,持續發生錯誤,錯誤訊息如下:
The name 'Person' is either already used in your application or reserved by Ruby on Rails. Please choose an alternative and run this generator again.
後來在stackoverflow找到了答案:
http://stackoverflow.com/questions/19777093/name-is-already-used-or-reserved-by-ruby-on-rails
原來
竟然到現在才知道⋯⋯真是太蠢了orz
原因是因為在建立專案時,rails已經自動產生了一個和專案名稱相同的module,所以會發生重複命名的錯誤。
所以如果我專案名稱是User,就不能建立一個叫user的model⋯⋯
好吧,讓我們重新來過:
rails new Member
rails g model user name:string email:string
這樣就對了啦!
Migration是在rails中,幫我們管理、更改及建立資料庫的執行檔。像在上面我們建立model的時候,rails就會自動產生一個migration執行檔。
它的檔案路徑及名稱如下:
db/migrate/20141021160437_create_users.rb
前面是系統自帶的時間戳印,後面則是這個執行檔要設定的class屬性。
讓我們看看它的內容:
class CreateUsers < ActiveRecord::Migration
def change
create_table :users do |t|
t.string :name
t.string :email
t.timestamps
end
end
end