#ruby-on-rails #axios
Вопрос:
Я пытаюсь сделать простой запрос ajax с Rails и Axios, но, похоже, у меня проблема с маршрутизацией
Мой запрос Ajax выполняется методом POST
axios.post('/post', {
title: title,
pseudo: pseudo,
text: text,
topic: topic
})
.then(res => console.log(res))
.catch(e => console.log(e))
}
Мой контроллер имеет respond_to
respond_to do |format|
format.json { render json: {result: 'ok'} }
end
Но рельсы, обработанные не тем контроллером и не тем методом, я ожидал Processing by PostController#create as JSON
, что нет Processing by MainController#default as HTML
Started GET "/post?title=amp;text= amp;pseudo=" for 127.0.0.1 at 2021-03-16 12:29:23 0100
Processing by MainController#default as HTML
Parameters: {"title"=>"", "text"=>" ", "pseudo"=>"", "topic"=>""}
Rendering main/default.html.erb within layouts/application
Post Load (1.4ms) SELECT "posts".* FROM "posts" WHERE (topic = '') ORDER BY "posts"."updated_at" DESC LIMIT $1 OFFSET $2 [["LIMIT", 12], ["OFFSET", 0]]
↳ app/views/main/default.html.erb:40
Rendered main/default.html.erb within layouts/application (Duration: 11.2ms | Allocations: 1178)
[Webpacker] Everything's up-to-date. Nothing to do
[Webpacker] Everything's up-to-date. Nothing to do
Completed 200 OK in 192ms (Views: 188.0ms | ActiveRecord: 1.4ms | Allocations: 11445)
Вот мои рельсовые маршруты
Prefix Verb URI Pattern Controller#Action
GET / main#default
GET /:topic(.:format) main#default
comment_index POST /comment(.:format) comment#create
new_comment GET /comment/new(.:format) comment#new
comment GET /comment/:id(.:format) comment#show
post_index POST /post(.:format) post#create
new_post GET /post/new(.:format) post#new
GET /:topic/:post(.:format) post#show
Комментарии:
1. Попробуй
axios.post('/post.json'...)
2. @razvans тот же результат, но когда я выполняю «код axios» непосредственно в веб-консоли навигатора, он работает
3. Я также использую Vue.js Я думаю, что проблема исходит оттуда
4. Пожалуйста, обновите заголовки запросов, выполните «поднять запрос.заголовки.проверка» в действии контроллера.