0

レール付き2.3.8私が持っていた

= link_to 'old_Delete', link_path(@link), :confirm => 'Are you sure?',  
:method => :delete

Rails 3.1.8では、これは機能しなくなり、エラーは発生せず、ログには表示要求が表示されるだけです。

に変えてみました

= link_to 'Delete', link_path(@link), method: :delete, 
data: { :confirm => 'Are you sure?' }

しかし、それも役に立ちませんでした。

削除リンクを機能させるにはどうすればよいですか。

「post」リソースを使用して新しいアプリ(rails 3.2.7)を作成し、新しいアプリでリンクがどのように表示されるかを確認しました。

そのために生成されたリンクは次のとおりです。

= link_to 'Destroy', post, method: :delete, data: { confirm: 'Are you sure?' }

しかし、その形式を使用しようとすると、投稿(投稿リソース、モデルなど)を@linkに置き換えます。これは、ページの他の場所で使用しているリンクインスタンスです。

= link_to 'Destroy', @link, method: :delete, data: { confirm: 'Are you sure?' }

動作しません(エラーなし)。

rails.jsをpublic/javascriptsフォルダーに保存して(assestのコンパイルをオフにしました) config.action_view.javascript_expansions[:defaults] = %w(jquery rails)、config / application.rbに含めてみましたが、うまくいきませんでした。それでもgetが表示され、削除は行われません。

4

2 に答える 2

2

他の人が言っているように、あなたはおそらくタイプミスがあるでしょう、linkvs @link。しかし、削除が機能しなくなった理由は、おそらくUJSへの変更に集中しています。長い答え、グーグル「3.0でレールがujsに変わる」。簡単に言えば、アプリがhttps://github.com/rails/jquery-ujsrails.js などの適切なujsヘルパープロバイダーから読み込まれていることを確認してください

変更する他の変更とともに、次のことを確認してください。

= javascript_include_tag "application"

= javascript_include_tag :defaults
于 2012-09-01T12:46:51.007 に答える
0

最後のアプローチでは、変数「link」または「@link」はありますか?後者を使ってみてください。

于 2012-09-01T12:41:38.187 に答える