将一个变量从观察者传递给控制器

时间:2016-05-04 14:42:45

标签: ruby-on-rails ruby activerecord model-view-controller observer-pattern

我有一个控制器(用户控制器),用于从db创建更新和删除用户。在UserObserver类中,after_save被定义为UserObserver中的一个方法,每次在db中保存后我都必须通过带有user_details的http调用另一个应用程序(以哈希格式)

class UserObserver < ActiveRecord::Observer
 def after_save user_details
  begin
    http Net::HTTP.new("localhost", "8000")
    request = Net::HTTP::Post.new("/verification")
    request.add_field('Content-Type', 'application/json')
    request.body = user_details.to_json   
    response = http.request(request)
    @http_error = false if response.code == 200
  rescue Exception => error
    @http_error = true
  end
 end
end

我需要访问user_controller中的@http_error变量,以了解已经发出http请求的状态,以便根据它进行更进一步的操作。

0 个答案:

没有答案