基本的な質問は申し訳ありませんが、私はRailsを初めて熟読し、既存のアプリケーションをデバッグしようとしています。RailsのURLパラメータについて理解しています
def find_by_foo
params.require(:foo).permit(:bar1, :bar2)
end
ルートは次のとおりです。:
get 'find_by_foo', on: :collection
そして、私もスペックを持っている:
を具体的には、私が与えられ、URLをリバースエンジニアリングするには、以下のコントローラをしようとしています
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}}
これまでのところすべて利用可能です。ここで正しい構造は何ですか?
ありがとう。はい、しかし、それは私にパラメータの形式を教えていません。 '/api/v1/foos/find_by_foo(.:format)api/v1/foos#find_by_foo' – JB2
このURLにアクセスするとAPIを打つことができます: 'localhost:3000/api/v1/foos/find_by_foo '、formatは.js、.html、.xml、.jsonになります。これは' FoosController'の 'find_by_foo'メソッドの実装に依存します。 – juanitofatas
ありがとう、juanitofatas。 JSONになります。 – JB2