Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 通过关系表删除某些内容_Ruby On Rails - Fatal编程技术网

Ruby on rails 通过关系表删除某些内容

Ruby on rails 通过关系表删除某些内容,ruby-on-rails,Ruby On Rails,我有四种型号。我想删除这个问题,但现在我不能。不知道为什么。我想,首先我需要删除这个问题的答案,然后删除询问,然后删除问题本身。正当但是我怎么能做到呢 这是我的模型: -阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿模型 class Respondent < ActiveRecord::Base has_many :inquiries has_many :questions, :through => :inquiri

我有四种型号。我想删除这个问题,但现在我不能。不知道为什么。我想,首先我需要删除这个问题的答案,然后删除询问,然后删除问题本身。正当但是我怎么能做到呢

这是我的模型:

-阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿努阿模型

class Respondent < ActiveRecord::Base
  has_many :inquiries
  has_many :questions, :through => :inquiries
  has_many :answers,   :through => :inquiries
end

您不需要删除答案,因为只要设置:dependent=>:destroy,答案就会自动删除。所以你只需要打电话:

您还需要指定要销毁的确切问题:question.find params[:id]


感谢您的快速响应!!但它不起作用:我不明白为什么。在控制台中:从questions.id=0的问题中选择*。。hmmI试图删除问题。。。我在控制器上写下了你给我的。。还是一样;也许我错过了什么?我想是的。你们在控制台上写什么?不,我并没有在控制台上写,我为这个问题做了脚手架。然后点击销毁链接。。所以。。错误,在控制台中我得到:2011-04-15 14:12:56处理127.0.0.1的问题控制器Destroy[删除]参数:{authenticity_token=>2eqggpHA+CYezL2g4wQX7iUieD+xZa7mA/UqR9oBi1I=,id=>undefined}问题列0.5ms显示问题中的字段问题加载0.1ms选择*问题中的问题。id=0你应该阅读一些关于Rails的基本知识,伙计。您没有将查询的id发送到服务器:id=>undefined。所以你刚才点击的链接是错误的。
class Answer < ActiveRecord::Base
  belongs_to :inquiry
  belongs_to :question

  validates_uniqueness_of :inquiry_id
end
class Question < ActiveRecord::Base
  has_one :answer, :through => :inquiry , :dependent => :destroy
  belongs_to :inquiry , :dependent => :destroy
end
class Inquiry < ActiveRecord::Base
  belongs_to :question
  belongs_to :respondent
  has_one    :answer
end
  def destroy
    @question.destroy
    head :ok
  end
def destroy
  @question = Question.find params[:id]
  @question.destroy
  head :ok
end