感谢您对此的帮助!我有很多新闻保存的地图,每个地图都可以有多个航点。航点表通过字段“newsavedmap_id”连接到 newsavedmaps id。我是 Rails 新手(使用 Rails 2),我在销毁功能方面遇到了麻烦。本质上,如果用户摆脱了新闻保存的地图,我也想消除航点。
新闻保存地图.rb
has_many :waypoints, :dependent => :destroy
航点.rb
belongs_to :newsavedmap
newsavedmap 控制器(我认为这是问题所在)
def destroy
@newsavedmap = Newsavedmap.find(params[:id])
@waypoint = Waypoint.find(params[:id])
@newsavedmap.destroy
@waypoint.destroy
respond_to do |format|
format.html { redirect_to "/CODE" }
format.xml { head :ok }
end
end
我也有一个视图,newmaps.html.erb。用户在页面上看到他的newsavedmap,他可以点击一个链接:
<a href="/newsavedmaps/<%= newsavedmap.id %>" class="newremovemap"></a>
当他这样做时,这是启动的 javascript:
$('.newremovemap').click(function(){
if (confirm('Are you sure you want to remove this map?')) {
var mappage = $(this).closest('.wholemap');
var map = $(this).parent();
$.post(this.href, { _method: "delete", authenticity_token: $('#auth_token').val() }, function(){
mappage.fadeOut();
});
};
return false;
})
现在,当我单击链接时,警报消息会重复多次,但不会删除记录。错误代码是 ActiveRecord::RecordNotFound(找不到没有 ID 的 Waypoint)。我已经尝试将这样的链接应用于问题( 依赖于 Rails 的破坏错误),但我似乎找不到解决方案。