2013-06-26 42 views
1

我每次嘗試運行下面的代碼時都會收到上述錯誤。我正試圖從表單中刪除信息。你可以看看「摧毀」的方法嗎?無法修改凍結散列

class ArticlesController < ApplicationController 

    def show 
    @article = Article.find(params[:id]) 
    end 

    def new 
    @article = Article.new 
    end 

    def create 
    @article = Article.new(params[:article]) 
    @article.save 
    redirect_to article_path(@article) 
    end 

    def destroy 
    @article = Article.new(params[:article]) 
    @article.delete 
    @article.save 
    redirect_to article_path(@article) 
    end 

    def edit 
    @article = Article.find(params[:id]) 
    end 
end 
+2

爲什麼在保存@article後刪除它? –

回答

0

模型被刪除或銷燬後無法更新或保存。只需刪除@article.save行。

另外,在你的銷燬方法中,爲什麼要創建一個新的文章實例只在下一行刪除它?你破壞方法應該只有這

def destroy 
    @article.delete 
    redirect_to article_path(@article) 
end 

您也可以在模型中,而不是控制器定義的破壞方法,簡單地說

def destroy 
    self.delete 
end 
0

我經歷了不能修改凍結散的問題,這是我用來解決它的解決方法/破解。這是一種解決方法,不是最終解決方案。

刪除該表: - 從鐵軌控制檯:的ActiveRecord :: Migration.drop_table(:TABLE_NAME)

遞增1模型文件號,重命名文件: - DB /遷移/ 1234_create_table_name.rb - > 1235_create_table_name.rb

rake db:migrate