2015-06-16 31 views

回答

1

如果您已經遷移,撤消:

rake db:rollback 
rails destroy scaffold Dreams Dream:string 

和重做它

rails generate scaffold Dreams Dream:text 
rake db:migrate 

你不需要做rake db:rollbackrake db:migrate如果你剛纔生成的腳手架。

如果不是你最後的遷移,你可以撤消它:

rake db:migrate:down VERSION=<version> 
# version is the number of your migration file you want to revert 

您可以創建一個新的遷移:

​​

和開放的移民使用change_column

def self.up 
    change_column :dreams, :dream, :text 
end 

def self.down 
    change_column :dreams, :dream, :string 
end 

最後,rake db:migrate

+0

我已經遷移了,而且我有這個腳手架上的所有項目,現在不可能銷燬它。任何其他建議? – user2284348

+0

我在我的答案中提出了第二個解決方案。 –

0

首先,支架應該像User和你的情況單數名詞,應該是Dream,Rails會不會讓Dreams,除非你通過--force-plural選項。其次,列名也應該是單數,儘管它可以是複數形式,但一般來說,軌道約定是單列名。

是的,你是對的!

rails g scaffold Dream dream:text 

text是您正在查找的選項。如果你沒有指定任何與dream,Rails將把它作爲string

+0

太棒了!問題解決了! TKS! – user2284348

+0

如果你認爲,這是有效的答案,並幫助你,你可以接受它。 –

+0

我不知道該怎麼辦 – user2284348