我需要在应用程序本身的rails应用程序上创建请求。
像这样(伪代码)
def some_method()
clone_request = request.clone
request.url = "some/url/"
result_html = Rails.application.run(request)
# ...
end
Rails版本3.2.8
这甚至可能吗?谢谢。
答案 0 :(得分:4)
您可以使用app.get("/some/url/")
生成请求。然后,运行app.request
获取请求数据,app.response
获取响应,app.response.body
获取html。
如果您需要进行身份验证,请先运行此命令(无论您登录后是否修改):
app.post("/session", :email => "email@host.com", :password => "******")
如果您需要其他实例:
app2 = ActionDispatch::Integration::Session.new(Rails.application)