1

我正在使用 rails-translate-routes gem 仅翻译“前”路线。
我正在使用carrierwave在我的管理员中上传一些文件。这是一个上传者:

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"

有什么办法处理这个吗?

4

1 回答 1

0

您可以将keep_untranslated_routes: true调用传递给ActionDispatch::Routing::Translator.translate_from_file.

例如:

ActionDispatch::Routing::Translator.translate_from_file(
  'config/locales/routes.yml',
  no_prefixes: true,
  keep_untranslated_routes: true)
于 2013-07-12T13:59:22.643 回答