这是我的模特
class Tourisme < ActiveRecord::Base
has_friendly_id :title, :approximate_ascii => true
.
.
end
当标题包含"?"
或"/"
并且我想生成网址时
admin_tourisme_path(tourisme)
我收到了错误
admin_tourisme_url failed to generate from {:action=>"show", :id=>#<Tourisme id: 14, title: "title with ?", description:.............
我该如何解决这个问题
答案 0 :(得分:0)
因此,阅读friendly_id的文档(http://rubydoc.info/github/norman/friendly_id/master/file/WhatsNew.md)我找到了2个解决方案:
1 - 在模型中使用#normalize_friendly_id
:
来自doc:
Bye-bye Babosa
Babosa是FriendlyId 3的淘气库。
FriendlyId 4默认不使用它,因为它最重要的部分已经被Active Support 3接受。
然而,Babosa仍然有用,例如,用于将西里尔(或其他语言)字符串惯用音译为ASCII。它很容易包含 - 只需覆盖模型中的#normalize_friendly_id:
class MyModel < ActiveRecord::Base
...
def normalize_friendly_id(text)
text.to_slug.normalize! :transliterations => :russian
end
end
2 - 使用slugged模型:http://rubydoc.info/github/norman/friendly_id/master/FriendlyId/Slugged