Как добавить пользовательские параметры в ActionController::Routing::Routes map.resources?

StackOverflow https://stackoverflow.com/questions/636008

  •  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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top