Rails(以下Rails)のfindメソッドについて、Rails初心者でもわかるように、具体的なソースコードを用いながら解説していきます。Railsのfindメソッドは、主にデータベースとのやり取りをする時に使用するメソッドです。RailsでWEBプログラミングなどをする時には、ほぼ必ず使用することになるでしょう。findメソッドとは何か・findメソッドの使用例について述べています。findメソッドとfind_byメソッドの違いにも触れていきます。findメソッドの基礎が完璧に理解できているでしょう。最後までお読みください。findについてRailsのmodel(モデル)は、データベースからデータを取り出したり、検索したりするための強力な機能を備えています。findは、modelの検索機能の1つであると理解してください。※Railsのmodelを学習したい人は、modelについて解説された記事をご覧ください。データベースのテーブルから、モデルオブジェクトとしてレコードを1つ取り出す場合に、Railsのfindメソッドを使います。(以下より具体例で解説していきます。)例えば、日用品を扱うデータベースのテーブルは以下のようなものをイメージしてください。findの使い方を具体例と共に解説していきます。サッカーチームのメンバーを扱うMemberモデルに、以下のようなテーブルがあったとします。numberを簡単に調べることができます。find及びmodelの機能を簡単にチェックするには、Railsコンソールを使うのが便利です。c」を実行してください。すると、以下のようになります。findメソッドを使っていきます。findでidを指定するfindメソッドに、idカラムの値を指定すると、その値を持つレコードを取り出すことができます。idが3のレコードを取り出して、変数memberに入れる場合は、以下をターミナルに打ち込みます。consoleを実行してから打ち込んでください。14>という結果が返ってきました。これにより、idが3のレコードの情報を取り出すことができました。findで属性を取得する次に、テーブルにあるnameとnumberを取得してみましょう。このnameとnumberは属性と呼ばれています。例として、idが3のnameとnumberを取り出してみます。上記で作成した、変数memberに対して、カラムと同名の属性を指定すると、そのカラムの値が返ります。上記で実行したターミナルの続きに以下のコマンドを打ち込んでみます。irb(main):002:0>member.name=>”Nana”irb(main):003:0>member.number=>14テーブルで、確かにid3のnameは”Nana”、numberは14ですね。findで、属性を取得することができました。findとfind_byの違いRailsにはfindメソッドによく似たものとして、find_byメソッドというものがあります。この2つの違いについて解説します。find_byは、あるカラムを使ってレコードを検索し、最初に一致したものを返します。nameカラムが「Kei」であるレコードを1つ取り出します。以下のコマンドをターミナルに打ち込みます。consoleを実行してから打ち込んでください。値)のような使い方はしません。値)のような使い方もしません。findはidのみを引数に取ります。findメソッドとfind_byメソッドの違いです。以下でfindとfind_byの違いをまとめておきます。・findメソッド⇒引数に取るのはid(属性は取らない)・find_byメソッド⇒引数に取るのは属性(idは取らない)この違いは非常に重要なので、必ず覚えておきましょう。findメソッドを理解できましたか?繰り返しになりますが、RailsでWEBプログラミングをする時には、findメソッドを必ずと言っていいほど使用します。findメソッドを思い出してください。初心者向けの人工知能と機械学習のコース。利用規約お問い合わせ。