Rails 2 - Rails 3, проверка методов в контроллерах прошла? - PullRequest
9 голосов
/ 14 сентября 2010

Исходя из рельсов 2, большинство моих контроллеров будут иметь следующие строки:

verify :method => :post, :only => :create, :render => {:text => '405 HTTP POST required', :status => 405}, :add_headers => {'Allow' => 'POST'}
verify :method => :put, :only => :update, :render => {:text => '405 HTTP PUT required', :status => 405}, :add_headers => {'Allow' => 'PUT'}
verify :method => :delete, :only => :destroy, :render => {:text => '405 HTTP DELETE required', :status => 405}, :add_headers => {'Allow' => 'DELETE'}

После перехода на Rails 3 я получаю предупреждение об устаревании, сообщающее, что они были удалены.Я знаю, что могу получить какой-нибудь плагин или что-нибудь еще, чтобы использовать их, но мой вопрос: мне действительно нужно больше?Использует ли rails 3 базовые методы по умолчанию?Похоже, что если это не так, я всегда чувствовал раздражение от необходимости писать эти строки снова и снова ...

1 Ответ

9 голосов
/ 14 сентября 2010

Вам не нужно проверять метод запроса, если вы используете REST-маршруты.Действие контроллера просто не будет достигнуто неправильным методом запроса.

Например, если вы попытаетесь достичь / users / create? Name = my_name через get, запрос достигнет действия show с параметрами[: id] = создать, и это не удастся.

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