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