2011-07-08 15 views
0

システムrail2をrails3に移行していて、リストから項目を削除しようとしたときに問題が発生しました。私はちょうど削除リンクをクリックして、セッションが破棄され、アイテムは破壊されませんでした。この問題は、すべてのコントローラと3つのセッションストアすべてで発生しました。レールとmysql2以外の宝石を削除してみましたが、結果は同じでした。私はセッションストアのアクションを破棄したが、それも起こった。 Btw、セッションを使用しなかった場合、そのアイテムは破棄されました。一般的な破壊操作でのセッションの問題

ビュー:

<%= link_to image_tag("icons/10.png" ,:size => "20x20", :alt => "show", :border => 0, :class => "show"), admin_info_path(info) -%> 
    <%= link_to image_tag("icons/2.png" ,:size => "20x20", :alt => "edit", :border => 0, :class => "edit"), edit_admin_info_path(info) -%> 
    <%= link_to image_tag("icons/9.png" ,:size => "20x20", :alt => "delete", :border => 0, :class => "delete"), admin_info_path(info), :confirm => 'Are you sure?', :method => :delete %> 

Gemfile:

gem 'rails', '3.0.9' 
gem 'mysql2', '~> 0.2.6' 
gem "settingslogic", "~> 2.0.6" 
gem 'jpmobile', '0.1.6' 
gem "kaminari" 
gem "memcache-client" 

答えて

1

これはほとんど常にrequest forgery protectionの結果です。 <%= csrf_meta_tag %>、有効なrails.jsまたはjquery_ujs.js JavaScriptがレイアウトの<head>タグ内にあることを確認してください。

<%= javascript_include_tag :defaults %>は通常、これらのファイルを自動的に含みます。

まだ問題が解決しない場合は、protect_from_forgeryコール(おそらくapplication_controller.rbファイルの中)をコメントアウトして、問題の原因となっているかどうかを確認することができます。しかし、セキュリティ上の理由から、偽造防止を永久に無効にすることはお勧めしません。

関連する問題