「押さえておきたいWeb知識」で検索お願いします!

[Rails入門] showアクションを分かりやすく解説!

「showアクションの使い方が分からない」、「showアクションの使い方をもっと知りたい」などお悩みを抱えている方はいないでしょうか?

このページでは基本的なshowアクションの使い方を分かりやすく解説していきます。

是非、最後まで読んでいただければと思います。

1.controllerにshowアクションメソッドを追加する

このページはWebアプリケーションの作成、Modelの作成、indexアクションの作成を終えているという前提でお話を進めていきます。

もし、上記のことを詳しく知りたい方は以下の記事をご覧ください。

[入門者向け] Ruby on Railsのアプリケーション作成方法を分かりやすく解説! [Rails入門] Modelの作成方法を分かりやすく解説! [Rails入門] indexアクションでデータを表示させる方法を分かりやすく解説!

railsではデータベースでデータを検索する場合、idを指定してデータを取り出すことが基本となっています。

idを指定してデータを検索するという一連の流れはshowアクションメソッド内に記述します。

ではcontroller内にあるposts_controller.rbにshowアクションメソッドを記述していきましょう。

上記ではshowアクションメソッド内でfindメソッドを使用して検索したいデータのidを取得するというコードが記述されています。

今回の場合、「@post = POST.find(params[:id])」と記述されていますが、以下の書式に合わせて記述することで簡単にデータ検索を行うことができます。

変数 = Model名.find(params[:id])

しかし、findメソッドを使用する上で一つ注意点があります。

findメソッドを使用して検索できるのはidのみとなっています。

id以外のカラムで検索したい場合、findメソッドではなく、find_by_sqlメソッド等を使用して複雑なSQLを記述する必要があります。

findメソッド内の引数はparams[:id]と指定されています。

これはidというパラメータを受け取って、パラメータの番号をもとに検索するという意味を持っています。

検索結果はPOSTクラスのインスタンスが返されます。




2.show.html.erbを作成する

次はshowアクションメソッドに対応する「show.html.erb」というファイルを作成していきましょう。

viewsフォルダ内に「show.html.erb」ファイルを作成してコードを記述していきましょう。

上記のコードを記述し終わったら、「show.html.erb」は完成です。




3.ルーティング設定

上記でshowアクションメソッドの作成、show.html.erbの作成を終えましたが、次にルーティング設定を行いましょう。

それでは「routes.rb」を開いて、ルーティング設定を行っていきましょう。

上記では「posts/:id」とアドレス指定がされています。

「:id」という部分にはid番号が当てはまります。

例えば、id番号が1のレコードには「https://…….post/1」という形でアクセスします。




4.index.html.erbを修正する

これでshowアクションを使用することができるようになりましたが、最後にindexアクションからshowアクションに移動できるように修正しましょう。

以下のように「index.html.erb」のファイルを修正してみましょう。

「index.html.erb」ファイルは投稿内容のみが表示されていて、「SHOW」ボタンを押すと投稿詳細が見れるという構造になりました。

以下の図はindexアクションにアクセスした画面とshowアクションににアクセスした画面となります。




5.Ruby on Railsを学ぶことができるオススメの教材

Ruby on Railsを学習している皆様にオススメの教材をご紹介させていただきます。

現場で使える Ruby on Rails 5速習実践ガイド

以下の本はRuby on Railsの学習を一通り終えてある程度知識を身につけた方にオススメしたい本です。

現場で使える Ruby on Rails 5速習実践ガイド」は現場で実際にどのように使われているのかという視点も交えて解説されています。

そのため、初心者の方が次のステップに進むために最適な本となっていますので、オススメです。

これらの本で是非学習を進めてみてはいかがでしょうか?

レベル別におすすめの本も紹介していますので、どのような本がオススメか知りたい方はこちらもご覧になって下さい。

[2021年最新版] Ruby on Rails を学ぶことができるおすすめの本

Udemy

UdemyではRuby on Railsを学ぶことができる講座を多数取り扱っています。

以下の記事でRuby on Railsを学ぶことができるオススメの講座をまとめていますので、よかったらご覧になって下さい。

[必見!] Udemy(ユーデミー) おすすめのRuby on Rails講座

プログラミングスクール

TechAcademyWebCampCodeCampTech CampなどでRuby on Railsを学ぶことができます。

それぞれ無料体験も行っているので、どのようなものか試してみるのもいいでしょう。

以下の記事で各プログラミングスクールをまとめているのでこちらもよかったらご覧になってください。

プログラミングスクール TechAcademy(テックアカデミー)とは? 特徴・口コミをまとめてみました! プログラミングスクール DMM WebCamp ビジネス教養コースとは? 特徴・口コミをまとめてみました! プログラミングスクール CodeCamp(コードキャンプ)とは? 特徴・料金・口コミをまとめてみました! [感想・体験談アリ!] 実際にTech Camp(テックキャンプ)のプログラミング教養でプログラミングをやってみた! [感想・体験談あり!] Tech Camp(テックキャンプ)のプログラミング教養の学習内容は? 働きながらTECH CAMP(テックキャンプ)で学ぶことはできるのか? 結論:可能です! TECH CAMP(テックキャンプ)ではどのような言語・技術を学ぶことができるの? TECH CAMP(テックキャンプ)の受講料はどのくらい? 安く通う方法もお話します! [体験談・感想あり!]TECH CAMP(テックキャンプ)でどのようなスキルが身につくの?




6.ポイント

ポイント
  • idを指定して検索する処理はshowというアクションに用意します
  • findメソッドを使用することで特定のidのデータを取り出すことができます

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です