Rails に最適なパーマリンク
-
01-07-2019 - |
質問
Rails で SEO に適した URL を (動的に) 作成する最善の方法は何だと思いますか?
解決
オーバーライド to_param
モデル クラスのメソッドを使用して、デフォルトの数値 ID を意味のある文字列に置き換えます。たとえば、まさにこの質問では、 レールに最適なパーマリンク URLにあります。
ライアン・ベイツは、 このトピックに関する Railscast.
他のヒント
ActiveSupport には、これを支援する Rails の新しいメソッド String#parameterize があります。関連するコミットは ここ;コミット メッセージに示されている例は「Donald E.Knuth".parameterize => "ドナルド・e・クヌース"
John Topley 氏が言及した to_param オーバーライドと組み合わせると、URL がより簡単になります。
RSLのstringex これはかなり素晴らしいです。permalink_fu が正しく行われていると考えてください。
私が主に使っているのは to_param
ジョン・トップリーが提案したように。
to_param で使用しているものがすぐに検索できるようにインデックスを忘れずに配置してください。そうしないと、アクセスするたびにテーブル全体がスキャンされることになります。(ない パフォーマンス向上剤!)
簡単な回避策は、ID をどこかに置くことです。その場合、ActiveRecord は残りの部分を粗末なものとして無視し、ID だけを検索します。これが、次のような URL を含む Rails サイトがたくさん表示される理由です。 http://example.com/someController/123-a-half-readable-title .
Rails での私の経験から得たこの点やその他の SEO 観察の詳細については、次のリンクを参照してください。 このページ 私のサイトでは役に立ちます。
私にとって、friend_id は問題なく機能しますが、スラッグも生成される可能性があるため、重複した URL を気にする必要はありません。スコープもサポートされています。
permalink_fu プラグイン (Mephisto から抽出) をチェックしてください...Git リポジトリは ここにあります.
to_param メソッドを簡単にオーバーライドできる、小さくてシンプルな gem を作成しました。見つかるよ ここ.