rails-translate-routes gem:是否可以翻译路由但保留(某些)原始路由?

时间:2012-05-09 16:04:27

标签: ruby-on-rails-3 routes carrierwave translate

我正在使用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"

有办法解决这个问题吗?

1 个答案:

答案 0 :(得分: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)