2012-05-09 8 views
1

私はrails-translate-routes gemを使って "front"ルートのみを翻訳しています。
私はcarrierwaveを使用して管理者のファイルをアップロードしています。ここにアップローダーがあります:rails-translate-routes gem:ルートを翻訳することはできますが、元のルートを維持することは可能ですか?

class CheatsheetUploader < CarrierWave::Uploader::Base 
    [...] 
    def store_dir 
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" 
    end 
    [...] 
end 

ご覧のとおり、パスはモデルの名前とフィールドの名前を使用しています。

私は、ファイルを取得しようとすると:

link_to "my file", download.cheatsheet.url 

をパスはデフォルトのいずれかです。

http://localhost:3000/uploads/download/cheatsheet/1/a_really_nice_file.pdf 

とRailsは私に素敵なルーティングエラーを与える:

No route matches [GET] "/uploads/download/cheatsheet/1/a_really_nice_file.pdf" 

どれでもこれを処理する方法は?

答えて

0

ActionDispatch::Routing::Translator.translate_from_fileへの電話でkeep_untranslated_routes: trueを渡すことができます。例えば

ActionDispatch::Routing::Translator.translate_from_file(
    'config/locales/routes.yml', 
    no_prefixes: true, 
    keep_untranslated_routes: true) 
関連する問題