Как добавить пользовательские параметры в ActionController::Routing::Routes map.resources?
-
10-07-2019 - |
Вопрос
в моем файле маршрутов.rb есть несколько мест, где я говорю:
map.resources :foo, :only => [:show, :index]
и я хотел бы иметь возможность сказать:
map.resources :foo, :readonly => true
..или что-то в этом роде.Я знаю, что это может показаться бессмысленным, поскольку при этом сохраняется всего пара символов, но мне хотелось бы знать, как это сделать, чтобы в будущем можно было добавить другие, более сложные параметры.
Спасибо
-С
Решение
Это не совсем то, что вы ищете, но вы можете сэкономить на наборе текста с помощью Объект#with_options:
map.with_options(:only => [:show, :index]) do |readonly|
readonly.resources :foo
readonly.resources :bar
...
end
В противном случае вы, вероятно, смотрите на исправление обезьян или создание подклассов. ActionController::Routing::RouteSet::Mapper
.
Не связан с StackOverflow