ruby-on-rails - rails skip_before_filter :verify_authenticity_token not working

标签 ruby-on-rails ruby

我需要通过 ruby​​ 脚本从办公室计算机发帖到远程服务器。我放了

skip_before_filter :verify_authenticity_token

在 Controller 中,但每次我尝试时,我都会得到“你想要的更改被拒绝”,当我查看日志时,我会得到

ActionController::InvalidAuthenticityToken

我是不是误会了什么? 这是来自 ruby​​ 脚本的代码

   url="display_ad[title]=#{row[1]}"
   date_arr = row[2].split('/')
   start_date = date_arr[2].to_s + "-" + date_arr[0].to_s + "-" + date_arr[1].to_s
   url+="&display_ad[start_date]=#{start_date}"

   date_arr = row[3].split('/')
   end_date = Date.new( date_arr[2].to_i,  date_arr[0].to_i,  date_arr[1].to_i )
   end_date = end_date + 7
   end_date = end_date.strftime("%Y-%m-%d")
   url+="&display_ad[end_date]=#{end_date}"
   url+="&display_ad[slug]=#{row[7]}"
   url+="&display_ad[category]=othr"
   url = url.gsub("\n","")
   url = url.gsub("\r","")
   p url
   easy =  Curl::Easy.http_post("http://example.com/advertising/web/web_service_add", url)

在 Controller Action 中

 ad = DisplayAds.new(params[:display_ad])
 ad.save

最佳答案

我在 Rails 2.3.8 项目中遇到同样的问题后来到了这个页面。我在多个 Controller 中成功使用了 skip_before_filter :verify_authenticity_token,但这是我第一次尝试在应用程序中定义的操作的 ApplicationController 类顶部使用它 Controller 。

我将我的操作连同 skip_before_filter 行移动到另一个 Controller ,并且验证已按预期正确禁用。我认为问题可能在于,当直接在应用程序 Controller 中用于该类中定义的操作时,它无法像您预期的那样工作。我还没有研究为什么会这样,因为我的编码很懒惰,我正在努力解决的具体操作已经在那里定义了,所以无论如何移动它是一个更好的选择。遇到此问题的其他人应该尝试将受影响的操作移出 ApplicationController 类。

有趣的是,在 Rails 3.2.1 项目中,我在 ApplicationController 中使用了 skip_before_filter :verify_authenticity_token 并在类中定义了一个操作,并且它运行良好。

关于ruby-on-rails - rails skip_before_filter :verify_authenticity_token not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7688568/

相关文章:

ruby-on-rails - Mysql2::Error: 重复条目 '' for key 'index_admin_users_on_email' Ruby on Rails 错误

ruby-on-rails - Rails 3 - 'Couldn' t 解析 Yaml'

ruby-on-rails - 一个月前得到,但总是在一个月的第 15 天

RubyMine - NoMethodError : Undefined method 'get' for nil:nilClass - Webdriver UserAgent

ruby-on-rails - 使用自定义 url 方案打开 sublime

ruby-on-rails - 如何将 link_to 包装在一些 html ruby​​ 代码周围?

json - 用于更新 JSON 中的模型值的 Ruby 代码

mysql - Rails 调用同一个表中的不同字段

ruby - 在 Ruby 中提取 2 个数字之间的项目

Ruby 意外 ':' ,期待 kEND