Как разрешить только POST-запросы в Rails? - PullRequest
4 голосов
/ 20 августа 2011

Как я могу запретить пользователям вызывать метод "doAction" в моем контроллере с помощью запросов GET?Я только хочу, чтобы он вызывался с использованием POST-запросов?

Я слышал, что мне нужно использовать "verify", но я не уверен, куда поместить этот код или как мне его использовать.

Ответы [ 2 ]

7 голосов
/ 20 августа 2011

Вы можете указать, какие методы разрешены для любого действия в вашем routes.rb.

Rails 2:

map.connect '/posts/doAction', :controller => 'posts,
                               :action     => 'doAction',
                               :conditions => { :method => :post }

Rails 3:

match 'posts/doAction' => "posts#doAction', :via => :post

post 'posts/doAction', :to => "posts#doAction'
4 голосов
/ 20 августа 2011

Вы можете добавить ограничение к маршруту в routes.rb.

match "/doAction" => "controller#doAction", :via => :post

Подробнее см. http://guides.rubyonrails.org/routing.html.

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