如何获取此资源的正确ID?

时间:2011-04-02 02:27:02

标签: ruby-on-rails ruby debugging ruby-on-rails-3

我有一个has_many,通过视频和主题之间的关联与主题作为独立资源。我希望有一个链接删除特定主题记录,即关联,而不是视频NOR主题。

我在topicables控制器中有这个方法:

def destroy
  @topicable = Topicable.find(params[:id])
  @topicable.destroy
  respond_to do |format|
    format.html {redirect_to @video}
    format.js
  end
end

我在视频节目视图中使用此链接调用上述方法:

<%= link_to "x", topicable_path(@topicable), :method => :delete, :class => 'topic_delete' %>

然而,我收到此错误:

ActiveRecord::RecordNotFound in TopicablesController#destroy

Couldn't find Topicable with ID=474

这是因为474是视频的id,而不是可主题表中主题和视频之间关联的id。我上面的destroy方法有什么问题,如何解决?

1 个答案:

答案 0 :(得分:-1)

我不确定,我必须测试一些东西,但你能试试吗:

<%= link_to "x", @topicable, :method => :delete %>