この記事では、Railsプロジェクトで美しいリンクを作成する方法の例を示します。
/posts/1/という形式のリンクは
/posts/1-article-name/変換されます
/posts/1-article-name/準備する
まず、コンソールで
gem install rails -v=3.1.3を実行して、最新バージョンのレールを配置しましょう。
ジャムのインストールプロセスが完了したら、
rails new nice_urlsを使用して新しいプロジェクトを作成します。 その結果、プロジェクト生成の最後にbundlerが自動的に起動されたため、すべてのジャムがインストールされた新しいクリーンなプロジェクトができました。
投稿の作成
デモンストレーションのために、通常の足場を使用します。 タイトルとテキストを持つ記事に対して生成してみましょう:
rails g scaffold Post title:string text:textデータベースを変更するには、
rake db:migrateコマンドを使用して移行を実行します。 これで、サーバー(
rails sコマンド)を起動して、
localhost:3000/postsものを見ることができます
localhost:3000/posts投稿を追加するための使い慣れたインターフェイスが表示されます。

美しいリンク
app/views/posts/index.html.erbに移動して、
showするリンクを形成する行を見つけます。
<%= link_to 'Show', post %>ここで、
postはパスを形成するために使用されるオブジェクトです。 次の設計に置き換える必要があります。
post_path(:id => "#{post.id}-#{post.title.parameterize}")showアクションへのリンクの形成をテストするには、名前を持つ記事を少なくとも1つ追加する必要があります。 インターフェースを使用して投稿を作成し、「素敵なURLのテスト」と呼びましょう。 リストに投稿を作成した後、リンクは
/posts/1にはならず、
/posts/1-the-test-of-nice-urlsつながるはず
/posts/1-the-test-of-nice-urlsおわりに
もちろん、実際のプロジェクトのコードは異なり、ヘルパーになり、はるかに便利な形式で呼び出されます。 そのようなソリューションはどこでも適切ではなく、状況によっては非常に不便です。 ここでは、キリル文字を使用する可能性も考慮されていません。