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 のスラッギング ライブラリです。

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 - スラッグモデルを使用する: http://rubydoc.info/github/norman/friendly_id/master/FriendlyId/Slugged

于 2013-02-11T12:02:10.487 に答える