2016-11-04 36 views
0

我是rails的初學者。我想要做的是製作一個只有標題和內容的表格,並建立一個可以保存它們的數據庫。軌道上紅寶石沒有方法錯誤

這是我的遷移文件

class CreateMelons < ActiveRecord::Migration 
    def change 
    create_table :melons do |t| 

     t.string :title 
     t.text :content 

     t.timestamps null: false 
    end 
    end 
end 

這是我的控制器

def write 
     @title =params[:title] 
     @content = params[:content] 

     @new_post = Melon.new 
     @new_post.title =params[:title] 
     @new_post.content =params[:content] 
     @new_post.save 

     redirect_to "/list" 


    end 

和錯誤信息都在這裏。

undefined method `title=' for #<Melon id: nil, created_at: nil, updated_at: nil> 

我不知道是什麼原因。 有標題欄! 我執行了rake db:migrate命令。 請幫幫我!

+0

你可以顯示你的melon.rb模型的文本嗎? – moveson

+0

您沒有此模型的標題'#

+0

您是否更新了相同的遷移或是否曾遷移過它 –

回答

0

好的,我會回答我自己的問題。

當您的模型中沒有schema.rb文件或attr訪問器中的此類方法時,會出現rails上ruby的'方法錯誤'。

因此,您應該在您的遷移文件中添加您的方法(如傾斜,內容)並遷移您的數據庫以刷新schcema.rb文件。

或者您可以簡單地將該方法添加爲attr訪問器,如果您不想爲數據庫添加其他列。

+0

你真的不必刪除數據庫來遷移它。否則,人們將無法在生產中運行遷移。 –

+1

@MichaelKohl我eddited。謝謝! –