2009-03-26 13 views
1

なurl_for私はAJAXを使用して破壊し、DB内のエントリへのリンクを作成しようとしていますが、私もそれにはJavaScriptせずに機能するようにしたいがRailsのはlink_to_remote劣化や

を有効に出力は

<a href="#" onclick="new Ajax.Updater('section_phone', '/phone_numbers/destroy/1', {asynchronous:true, evalScripts:true, parameters:'authenticity_token=' + encodeURIComponent('b64efb643e49e9af5e2e195a90fd5a8b6b99ece2')}); return false;">Delete</a> 

何らかの理由でurl_forが正しく機能せず、hrefタグが#に設定されています。 ログのエラーが通知されないため、これが機能しない理由がわかりません

これがなぜ起こっているのかも知れませんか?更新と::URLからそれらを分離するために、に属しますが、オプション{}ハッシュ、周りの中括弧が欠落しているRailsCasts - Destroy Without JavaScript

答えて

2

は、私はあなたがこのような何かを探していると考えているあなたに

1

ありがとうございましたhrefが属するhtml_options {}ハッシュ

<%=link_to_remote "Delete", {:update => "section_phone", :url => {:controller => "phone_numbers", :action => "destroy", :id => phone_number_display.id }}, :href => url_for(:controller => "phone_numbers", :action => "destroy", :id => phone_number_display.id)%> 

それはあなたのリンクのhref属性として表示するURLを取得しますが、あなたの破壊行為へのGETリクエストは、それを削除しないでください。

はこれを試してみてください。フォームを取得するための破壊アクションにGETリクエストを行い、次に電話番号を実際に削除するPOSTフォームを作成できるように、何か他のものが必要です(vrish88のように)。

+0

正確ではありません。問題はjsの確認ではなく、url_forが機能していない理由と関係しています。 – stellard

+0

実際は正しく動作しています。 http://api.rubyonrails.org/classes/ActionView/Helpers/PrototypeHelper.html#M001613を見ると、link_to_remoteが作成しているリンクが表示されます。ですから、適切に劣化させるために、スクリーンキャストを見てください。 – vrish88

関連する問題