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
4

2 回答 2

2

模型被删除或销毁后,您将无法更新或保存它。只需删除该@article.save行。

另外,在你的destroy方法中,你为什么要创建一个Article的新实例只是在下一行删除它?你的销毁方法应该只有这个

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

您还可以在模型中定义destroy方法而不是控制器,然后简单地说

def destroy
  self.delete
end
于 2013-08-19T00:27:12.067 回答
0

我遇到了无法修改冻结的哈希问题,这是我用来修复它的解决方法/黑客。这是一种解决方法,而不是最终解决方案。

删除表: - 从 rails 控制台:ActiveRecord::Migration.drop_table(:table_name)

模型文件号加1,重命名文件:-db/migrate/1234_create_table_name.rb -> 1235_create_table_name.rb

耙分贝:迁移

于 2015-04-18T06:59:43.267 回答