ПОЛУЧИТЕ против ПОЧТЫ в рельсах - PullRequest
0 голосов
/ 06 декабря 2010

у меня есть контроллер

class PageController < ApplicationController
  def home

        print "Custom   " + params
  end

end

Когда я отправляю запрос через GET , он работает (вывод значения параметров), но для POST он не работает Я получаю ошибку ActionController :: InvalidAuthenticityToken (ActionController :: InvalidAuthenticityToken):

Мой конфиг / rout.rb -

PostTest::Application.routes.draw do
     root  :to => "page#home"
end

Моя цель - извлечь ключ и значения из запроса Post, любая помощь?

Ответы [ 2 ]

2 голосов
/ 06 декабря 2010

Сначала убедитесь, что строка protect_from_forgery не закомментирована в controllers/application_controller.rb.

Затем убедитесь, что ваш запрос POST передает маркер подлинности, определенный в строке protect_from_forgery.Помощники рельсов form_tag делают это автоматически для вас.Если вы не хотите использовать form_tag, вы можете сгенерировать тег подлинности вручную следующим образом:

tag(:input, :type => "hidden", 
    :name => request_forgery_protection_token.to_s, 
    :value => form_authenticity_token)

Если это не сработает, пожалуйста, отправьте код для формы, отправляющей запрос POST.

0 голосов
/ 06 декабря 2010

Если ответ на мой вопрос == 'да' - попробуйте добавить <% = csrf_meta_tag%> на свою страницу и / или макет ...

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