ご協力いただきありがとうございます。多くのニュース保存済みマップがあり、それぞれに複数のウェイポイントを設定できます。ウェイポイント テーブルは、フィールド「newsavedmap_id」を使用して、newsavedmaps ID に接続します。Rails (Rails 2 を使用) は初めてで、破棄機能に問題があります。基本的に、ユーザーがニュース保存済みマップを削除した場合、ウェイポイントも削除したいと考えています。
newsavedmap.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 もあります。ユーザーはページに自分のニュース保存済みマップが表示され、リンクをクリックできます。
<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 依存の destroy エラー) に適用しようとしました が、解決策が見つからないようです。