每次尝试运行此代码时,我都会遇到上述错误。我试图从表单中删除信息。你能看一下“破坏”的方法吗?
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
答案 0 :(得分:1)
删除或销毁模型后,无法更新或保存模型。只需删除@article.save
行。
另外,在你的destroy方法中,为什么你只创建一个新的Article实例来删除下一行呢?你的破坏方法应该只有这个
def destroy
@article.delete
redirect_to article_path(@article)
end
你也可以在模型中定义destroy方法而不是控制器,只需说
def destroy
self.delete
end
答案 1 :(得分:0)
我遇到了无法修改冻结哈希问题的问题,这是我用来修复它的解决方法/ hack。这是一种解决方法而非最终解决方案。
放下桌子: - 来自rails控制台:ActiveRecord :: Migration.drop_table(:table_name)
将模型文件编号增加1,重命名文件: - db / migrate / 1234_create_table_name.rb - &gt; 1235_create_table_name.rb
rake db:migrate