0

这是我的模型

class Tourisme < ActiveRecord::Base
  has_friendly_id :title, :approximate_ascii => true

   .
   .

end

当标题包含 "?"or"/"并且我想生成一个 url 时:

 admin_tourisme_path(tourisme)

我有一个错误

admin_tourisme_url failed to generate from {:action=>"show", :id=>#<Tourisme id: 14, title: "title with  ?", description:.............

我怎样才能解决这个问题

4

1 回答 1

0

因此,为friendly_id阅读文档(http://rubydoc.info/github/norman/friendly_id/master/file/WhatsNew.md)我找到了2个解决方案:

1 -#normalize_friendly_id在模型中使用:来自文档:

再见巴博萨

Babosa 是 FriendlyId 3 的 slugging 库。

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

于 2013-02-11T12:02:10.487 回答