如何从控制器存根参数?

Gua*_*Joe 9 rspec ruby-on-rails ruby-on-rails-4

对于我的测试,我需要一个控制器,我可以设置自己的参数.使用参数我指的是调用时获得的参数controller.params

{"action"=>"show",
 "controller"=>"merchants",
 "wine_id"=>"1",
 "id"=>"346343"}
Run Code Online (Sandbox Code Playgroud)

问题是,我不知道在这里存在什么正确的存根方式.有三种情况:

  • controller.request.env['action_dispatch.request.path_parameters']
  • controller.params
  • controller.url_options[:_recall]

在所有三个中都存储了相同的信息,但是设置这些值的接口方式是什么?

ush*_*sha 14

访问参数的常用方法是controller.params.所以我建议你去短文

controller.stub(:params).and_return({:param1 => "value", :param2 => "value"})
Run Code Online (Sandbox Code Playgroud)