一部の記事のタイトルにパーマリンクのような動作を作成しようとしていますが、パーマリンク用の新しい db フィールドを追加したくありません。そこで、記事のタイトルを以下から変換するヘルパーを作成することにしました。
" O "focoasă" a pornit cruciada, împotriva bărbaţilor zgârciţi " から " o-focoasa-a-pornit-cruciada-impotriva-barbatilor-zgarciti ".
スペースをハイフンに置き換え、他の特殊文字 (- 以外) を削除する方法を見つけました。
title.gsub(/\s/, "-").gsub(/[^\w-]/, '').downcase
1 つの .gsub メソッド呼び出しから文字を特定の他の文字に置き換える他の方法があるかどうか疑問に思っているので、すべての title.gsub("ă", "a") メソッドをチェーンする必要はありません。私のローカリゼーションの UTF-8 特殊文字。
すべての特殊文字とそれに対応するものを使用してハッシュを作成することを考えていましたが、正規表現で変数を使用する方法をまだ理解していません。
私が探していたのは次のようなものです:
title.gsub(/\s/, "-").gsub(*replace character goes here*).gsub(/[^\w-]/, '').downcase
ありがとう!