Добавить значение по умолчанию в префикс к моим маршрутам, сгенерированным методами * _path - PullRequest
3 голосов
/ 06 августа 2009

Я добавил в свой файл префикса значение префикса для каждой строки map.resources. Так все это выглядит так:

map.resources :subjects, :path_prefix => ':company'

Я даже добавил эту строку для поведения по умолчанию

map.connect ':company/:controller/:action/:id'

что не является необходимым (я считаю), потому что все маршруты обрабатываются методом ресурсов.

Я получаю параметр: company в моем методе before_filter в ApplicationController. Все работает. Но.

Можно ли изменить поведение всех методов * _path, чтобы оно устанавливало значение компании для всех сгенерированных URL-адресов по умолчанию с использованием одного из URL-адресов? Чтобы это работало идеально, мне нужно было бы добавить значение компании в качестве параметра для каждого метода _path. Я считаю, что это можно сделать автоматически.

1 Ответ

2 голосов
/ 06 августа 2009

Вы должны перезаписать default_url_options в контроллере приложения.

class ApplicationController > ActionController::Base

  # ...

  def default_url_options(options)
    { :company => current_company.id }
  end

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