我目前正在研究Typeform API的实现。我能够获取响应,但是我需要向用户显示提升的响应。
提交Typeform时,会将hidden_field
传递给Type current_user.hash_id
。
到目前为止一切都很好。我还可以使用名为parameter
的{{1}}来设置API的限制。
所以我的请求当前看起来像:
query
我需要将 def get_data
self.class.get("/forms/XXXXX/responses?page_size=25&query=", headers: { "Authorization" => @auth})
end
添加到current_user.hash_id
,但是由于我是从模型中提出此请求的,所以我无法使用&query=
。
因此,我应该将逻辑传递给我的current_user
以使controller
可以使用,还是有另一种方法可以在我的current_user
中安全地调用current_user
呢?
答案 0 :(得分:1)
所以我做了以下事情:
我在module
中创建了一个lib
以访问:user
module Current
thread_mattr_accessor :user
end
此后,我将此添加到了ApplicationController
around_action :set_current_user
def set_current_user
Current.user = current_user
yield
ensure
Current.user = nil
end
您还需要将config.autoload_paths
添加到您的àpplication.rb
config.autoload_paths += %W(#{config.root}/lib)
然后,您需要重新启动服务器。
最后,您可以在模型中加入Current.user
,例如:
def get_data
self.class.get("/forms/XXXXX/responses?page_size=25&query=#{Current.user.hash_id}", headers: { "Authorization" => @auth})
end