MENU

30DAYSトライアル4th(Rails)のまとめ【DAY13】

4th(Rails)DAY13の課題は「Progate Rails コース(3章まで)」です。

DAY12では投稿一覧ページを作成しながらデータベースの操作を学習しましたが、DAY13では投稿詳細画面と新規投稿ページの作成を通して、データベースの検索方法と実際のレイアウトからデータベースを更新する方法を学習していきます。

この3章を終えると道場コースが挟まるので、ここが一つの区切りになります。

目次

目次

テーブルの特定レコードを取得する:find_byメソッド

特定のレコードを取得するためには「find_byメソッド」を使用する。

変数 = モデル.find_by(カラム:データ)

URLに変数を含める

ルーティングのURL部分に「:」を使用することで、URLに変数を含めることができる。

# ルーティング
# 変数の値が何であろうとも同じアクションが実行される(ワイルドカードのようなイメージ)
get "XXX/:変数" => コントローラ/アクション"

# コントローラ(アクション)
# URLに変数を含めた場合はアクションでURLに指定した変数の値を取得できる
# paramesという変数に「変数:値」というようなハッシュに値が格納されている
def アクション
  @変数 = params[:URLに指定した変数]

値を受け取るページのルーティング

値を受け取るページのルーティングは「get」ではなく「post」と記述する。

フォームの送信先を指定する:form_tagメソッド

「form_tagメソッド」を使用することで、フォームに入力されたデータを送信することができる。

# form_tagメソッドは「<%= %>」で囲む
# 「do」と「end」の間にフォームを作成する
<%= form_tag("URL") do %>
  # name属性に変数を指定することで送信先に値を渡すことができる(受け取り側はparams[:変数]で取得できる(中身はハッシュ))
  <textarea name=":変数名"></textarea>
  <input type="submit" value="ボタン名"
<% end %>

リダイレクト

他のURLに転送(リダイレクト)するには「redirect_toメソッド」を使用する。

redirect_to("URL")

データを並び替える:orderメソッド

「orderメソッド」を使用することで、テーブルからデータ取得時の順番を指定できる。

# 順番は「asc(昇順)」「desc(降順)」
@変数 = モデル名.all.order(カラム: :順番)

まとめ

テーブルの特定レコードを取得したり、テーブルへのデータ追加方法などを学習しました。

通常であればいずれもSQLを記述しなければならないものが、Railsだとプログラム1行ですんでしまうので楽ですね。

楽であるが故に複雑なSQLのクエリは発行できないなどの弊害はあると思いますけど。

次は1章〜3章の総まとめの道場コースになるので、さくっと復習(自分のブログ記事を見直し)してのぞみたいと思います。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ソフトウェア会社(SIer)で10年以上勤務のシステムエンジニア|ポケットWiFi使用歴2年以上|ポケットWiFi+αで快適でお得なインターネット環境を構築するための情報を発信|その他、IT情報やWebサービス、アプリ、ガジェットなどの情報を発信|自分と他の人のカバンの中身を紹介するメディア「カバンの中身ラボ(https://kaban-no-nakami-labo.com/)」も運営しています。
ポケットWiFi選びに迷ったらTwitter、お問合せフォームからご連絡ください。

コメント

コメント一覧 (1件)

コメントする

目次