簡體   English   中英

NameError:未初始化的常量CreateCommments Ruby on Rails

[英]NameError: uninitialized constant CreateCommments Ruby on Rails

class CreateComments < ActiveRecord::Migration
  def change
    create_table :comments do |t|
      t.integer :link_id
      t.text :body
      t.references :user, index: true, foreign_key: true

      t.timestamps null: false
    end
    add_index :comments, :link_id
  end
end

我將應用程序部署到heroku,不得不在sqlite 3的Pg insteand中重做數據庫。當我遷移數據庫時,我正在這樣做

NameError: uninitialized constant CreateCommments

我整天都在搜索,並嘗試了許多解決方案,但無濟於事。 我搜索了拼寫錯誤,刪除了,重新創建了數據庫。 我的database.yml是最新的,gem和gemlock干凈無sqlite,但不會停止對我大喊大叫。 先感謝您。

該錯誤是因為文件名不正確。 它必須是帶有類名的時間戳記,然后是蛇形,例如

20170602175844_create_comments.rb

當然,您可以手動執行此操作,只需更改文件名,或在控制台中運行並進行新的遷移

rails g migration create_comments

注意:

沒有成為一個時間戳,雖然,這只是鐵軌耙任務做它的方式。 您也可以使用數字序列,例如,如果您手動創建文件。 這樣做是為了能夠查看已運行的遷移並能夠回滾到特定版本。 還可以使遷移按特定順序運行。

1_create_comments.rb

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM