friendly_id
スラッグを使用して、適切にセットアップし、すべてが機能します。
私が抱えている問題は、Tag
モデル (FriendlyId がアタッチされているモデル) の名前の一部を HTML エスケープする必要があることです。
c++
またはのような名前.net
。
を実行するとTag.find_each(:&save)
、すべてのスラッグが生成されました....しかし、これらの名前のタグでは、次のことが起こりました。
> c = Tag.where(:name => "c++")
Tag Load (0.9ms) SELECT "tags".* FROM "tags" WHERE "tags"."name" = 'c++'
=> [#<Tag id: 2, name: "c++", num_questions: 187598, created_at: "2013-03-23 07:02:09", updated_at: "2013-03-29 15:34:09", questions_count: 87, slug: "c">]
> Tag.where(:name => ".net")
Tag Load (0.9ms) SELECT "tags".* FROM "tags" WHERE "tags"."name" = '.net'
=> [#<Tag id: 142, name: ".net", num_questions: 149074, created_at: "2013-03-23 07:09:47", updated_at: "2013-03-29 15:34:10", questions_count: 85, slug: "net">]
1.9.3p392 :012 > Tag.where(:name => "c#")
Tag Load (1.0ms) SELECT "tags".* FROM "tags" WHERE "tags"."name" = 'c#'
=> [#<Tag id: 38, name: "c#", num_questions: 435620, created_at: "2013-03-23 07:03:27", updated_at: "2013-03-29 15:34:10", questions_count: 130, slug: "c--3">]
name
それらのそれぞれのスラッグに注意してください - そしてそれらがどのように各レコードの に適切に対応していないか.
これを修正するにはどうすればよいですか?