Почему методы Rails docs отличаются от их реализации левым / правым двоеточием? - PullRequest
0 голосов
/ 14 октября 2018

Насколько я могу судить, это правильный способ написать эту строку кода:

class ApplicationController < ActionController::Base
    protect_from_forgery with: :exception
end

Однако в документации говорится, что :with, «Установить [s] метод для обработки непроверенного запроса», а :exception - «метод обработки непроверенного запроса».Почему двоеточие для :with в левой части документа?Он находится на той стороне, когда перечисляет все допустимые параметры для этого метода (:only/:except, :prepend и т. Д.), Но не при их использовании.Если бы я не посмотрел пример на странице, я бы не знал, как написать метод.Есть ли здесь какой-то шаблон, который мне не хватает?

1 Ответ

0 голосов
/ 14 октября 2018

:with - это символ .

with: :exception - это Хэш , упрощенная версия { with: :exception }.

Когдаперечисляя допустимые параметры, все действительные ключи хэша, переданные как параметры, упоминаются.Ключи являются символами, но они должны быть переданы вместе со значением, таким как :exception.

protect_from_forgery with: :exception

по сути аналогично

protect_from_forgery({ with: :exception })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...