3
私のルートファイルプレフィックス値を各map.resources行に追加しました。だから、すべては次のようになります。* _pathメソッドによって生成されたルートへのプレフィックスにデフォルト値を追加
map.resources :subjects, :path_prefix => ':company'
は、私も、すべてのルートがリソース方式で処理されるので、(私は信じている)必要はありませんデフォルトの動作
map.connect ':company/:controller/:action/:id'
ため、この行を追加しました。
ApplicationControllerのbefore_filterメソッドで:company paramを取得します。すべてが機能します。しかし。
すべての* _pathメソッドの動作を変更して、生成されたすべてのURLの会社の値を、デフォルトでURLから取得したものと同じにすることはできますか?完全に動作させるには、各_pathメソッドのparamとして会社の値を追加する必要があります。私はそれを自動化することが可能だと信じています。
は、私はあなたが完全な例外のバックトレースと、あなたがそれを実装する方法の例を投稿していない限り、あなたがサポートして提供することはできません –
各_pathメソッドの引数の誤り、間違った数(1 0)を取得します。また、current_company.idは、完全性のために使用した例です。必要に応じてコードを修正する必要があります。 –
default_url_options(options)をdefault_url_options(options = {})に変更して、引数の数を修正しました。しかし、議論については別の問題があります。 * _path(:id => @object)を指定する必要があります。なぜなら、常に最初の引数がcompanyオブジェクトであると考えているからです。 ここで説明します: https://rails.lighthouseapp.com/projects/8994/tickets/1251-default_url_options-cant-be-used-with-named-routes ありがとう! –