Я создал метод API для публикации. Я указываю в route.rb, что он должен вызываться только через: post, но когда я вызываю API через браузер, он жалуется, что пропустил маршруты GET. Что не так?
class Api::XyzsController < ApiController
# POST /api/create_xyz
def create_xyz
product = Product.find(params[:rpt_id])
Xyz.create!(:product_id => product.id ,
:status => 'open',....)
render :json => {:message => 'Submitted.'}, :status => :ok
end
end
routes.rb
...
namespace 'api' do
match 'create_xyz' => 'xyzs#create_xyz', :via => [:post]
end
пост в браузере, http://localhost/api/create_xyz?rpt_id=123
получить ошибку:
* * 1010
сгенерированный маршрут:
api_report_xyz POST /api/report_xyz(.:format) {:format=>"json", :action=>"report_xyz", :controller=>"api/xyzs"}
если я добавлю get к via в router.rb, это исправит это. Но я не понимаю, почему он настаивает на получении, когда это вызов метода post ...