Ruby on Rails:ユーザーフレンドリーなURL

この記事では、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







おわりに


もちろん、実際のプロジェクトのコードは異なり、ヘルパーになり、はるかに便利な形式で呼び出されます。 そのようなソリューションはどこでも適切ではなく、状況によっては非常に不便です。 ここでは、キリル文字を使用する可能性も考慮されていません。



All Articles