2

javascriptを無効にしている人のために機能するlink_towithのフォールバックURLを持つ簡単なRESTfulな方法はありますか?:method => :delete

たとえば、コメントのリストがあるとします。コメントを削除するためのリンクを追加するには、次のように入力します。

<%= link_to "Delete", comment_path(comment.id), :method => :delete %>

これにより、data-method="delete"私のujsドライバー(私の場合はjquery_ujs)がDELETEリクエストに変わるリンクが生成されます。ただし、JavaScriptがオフになっている場合、リンクはGETリクエストとして追跡され(ドキュメントでアドバタイズされているように)、コントローラーは当然混乱します。

この問題を解決するための良い簡単な方法はありますか?Railscast 77があります。これは1つの解決策を示していますが、これには非常に多くの追加コードが必要なようで、非常に洗練された:method => :delete解決策が捨てられます。javascriptが無効になっている場合は、確認削除ページへのリンクを作成しても問題ありません。

私が考えることができる唯一の解決策はbutton_to、ページとUJSを使用して、対応するに置き換えることlink_toです。これはどういうわけか私には完全に正しくないようですが、多分それは大丈夫ですか?他のアイデアはありますか?

4

1 に答える 1

1

個人的には、にマッピングするというアイデアは好きではあり:deleteませ:getん。RESTFulではありません...私が使用するソリューションは、あなたが考えていたものと同じです。つまり、のbutton_to代わりに、link_to必要に応じてCSSを使用してリンクのように見えるようにボタンのスタイルを設定します。

于 2011-09-03T22:05:16.237 に答える