对基本问题表示歉意,但我对Rails是全新的,并且我正在尝试调试现有的应用程序。
具体来说,我正在尝试对URL进行反向工程,给出以下控制器:
def find_by_foo
params.require(:foo).permit(:bar1, :bar2)
end
路线如下:
get 'find_by_foo', on: :collection
我甚至有一个规范:
it "should not be successful" do
get :find_by_foo, params: {foo: BarStuff}
expect(response).to_not be_success
expect(response).to have_http_status(401)
end
我试图弄清楚如何通过我的REST客户端传递这些参数。我尝试了以下URL结构:
api/v1/collections/find_by_foo?foo={bar1: 0, bar2: 0}
api/v1/collections/find_by_foo/foo/0/0
api/v1/collections/find_by_foo?params={foo: {bar1: 0, bar2: 0}}
所有现在都有用。这里的结构是什么?
答案 0 :(得分:3)
你的意思是这样吗?
library(jpeg)
# Select your Zip file or replace file.choose() with exact path
zippath <- file.choose()
names.files <- unzip(zippath, list=TRUE)
readJPEG(unzip(zippath, names.files$Name[3]))
中提供了对此的概述
您也可以在控制台中致电
paste
(或者无论实际的url帮助方法是什么,我只是根据路线进行猜测),并且您将获得可以使用的路径的CGI转义版本。您可以将其包含在api/v1/collections/find_by_foo?foo[bar1]=0&foo[bar2]=0
中以便于阅读。例如,在我的应用程序中:
app.find_by_foo_api_v1_collections_path(foo:{ bar1: 0, bar2: 0})
答案 1 :(得分:0)
您可以打印出路线并按find_by_foo
过滤以查看正确的结构。在终端中运行:
$ rake routes | grep find_by_foo
希望这有帮助。