Rails 5: пост-маршрут не работает с корневым URL - PullRequest
0 голосов
/ 10 февраля 2019

В настоящее время я добавляю форму опроса на мою домашнюю страницу.Затем посетитель получает предложения на основе ввода.Я отправляю ajax-запрос для доставки предложений пользователю.

Поскольку форма находится на моей домашней странице, мне нужно создать маршрут post для моего root url.

Мой код Ajax:

  $.ajax({
    data: 'impressions=' + impressions,
    dataType: 'script',
    type: 'post',
    url: "/pages/home"
  });

Когда я использую pages/home в url, я получаю следующую ошибку:

ActionController::RoutingError (No route matches [POST] "/pages/home"):

Когда я просто использую / в url Я получаю эту ошибку:

Processing by RegistrationsController#create as JS
  Parameters: {"impressions"=>"278"}
Can't verify CSRF token authenticity.
Completed 422 Unprocessable Entity in 3ms (ActiveRecord: 0.0ms)

ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken):

Это как-то обрабатывается через RegistrationsController

Это мои маршруты:

  root to: 'pages#home'
  # pages/home/:impressions not working
  post 'pages/home/:impressions' => 'pages#home'

PagesController home:

  def home
    @impressions = params[:impressions]
  end

1 Ответ

0 голосов
/ 10 февраля 2019

Изменить

post 'pages/home/:impressions' => 'pages#home'

на

post 'pages/home' => 'pages#home'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...