2011-05-01 57 views
0

我在我的項目中有一個作者模型,並且希望將另一個字段添加到表單中,以便作者可以具有其名稱電子郵件和頭像,我希望作者也能夠插入一些內容與此同時。
1,當我向我的表單中添加另一個字段即可。
2,在模式文件中添加t.string「content」嗎?因爲這不起作用(我已經運行rake db:migrate)
3,我已經爲作者在遷移文件中添加了t.string:內容(這已停留在那裏但沒有做任何事情)
4 ,我是否應該進入ruby控制檯並以某種方式添加信息,以便數據庫知道內容字段?
在Rails表格中添加字段

我只想另一個字段添加到數據庫和程序不返回:
undefined method `content' for Author:0x00000100c5cc08 Extracted source (around line #24):

21: div
22: div class="field"
23: <%= f.label :content %>
24: <%= f.text_area :content %>
25: div
26: div class="actions"
27: <%= f.submit %>
Trace of template inclusion: app/views/authors/new.html.erb

Rails.root: /Users/r/Sites/RailsProjects/as

謝謝

回答

0

你永遠不應該直接編輯schema.rb文件 - 這是自動產生的你的數據庫。

t.string :content添加到您的遷移文件將以您想要的方式修改模型。但是,你是否運行遷移?使用rake db:rollback和rake db:migrate重新應用遷移(假設它是你的集合中的最後一個)。當你這樣做時,要注意你會丟失作者的數據。

或者,你可以只創建一個新的遷移來添加列,就像這樣:

def self.up 
    add_column :authors, :content, :string 
end 

def self.down 
    remove_column :authors, :content 
end 

然後運行耙分貝:遷移。

0

我認爲最好的方法是添加字段到命令提示符並鍵入如下


Ruby腳本/生成igration AddContentToAuthor內容:字符串
**,然後按Enter鍵。之後,你需要做數據庫遷移,你可以如下


耙分貝做到這一點:遷移 **然後按現在輸入您的代碼將正常工作

相關問題