会话问题与一般销毁行动

时间:2011-07-08 05:18:12

标签: ruby-on-rails ruby-on-rails-3

我正在将系统rail2迁移到rails3,当我尝试从列表中删除项目时遇到了问题。我只是点击删除链接,然后会话被销毁,项目没有被销毁。这个问题发生在所有控制器和所有三个会话存储中。我删除了除rails和mysql2之外的gems并尝试了但结果是一样的。我清空会话商店的破坏行为,但这也发生了。顺便说一下,如果我没有使用会话,该项目就被销毁了。

视图:

    <%= 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 个答案:

答案 0 :(得分:1)

这几乎总是request forgery protection的结果。确保您的布局的rails.js标记内包含<%= csrf_meta_tag %>和有效的<head>jquery_ujs.js JavaScript。

<%= javascript_include_tag :defaults %>通常会自动包含这些文件。

如果您仍遇到问题,可以随时注释掉protect_from_forgery电话(可能在您的application_controller.rb文件中),看看是否是导致您出现问题的原因。但出于安全考虑,我不建议永久性地禁用伪造保护。