fluid_27’s blog

勉強した内容をアウトプットするためのブログ

PF作るに当たって覚えたことの整理 2020.2.3

PF作るに当たって覚えたことの整理

2020.2.3

 

画像自体をリンクにする

link_to 画像の名前, 遷移させたいページの場所

例)

 <%= link_to image_tag("img_logo.png"), show_path%>

 

 

テーブルから条件をつけてデータを取り出す

絞り込んで特定のカラムだけ取り出す pluck

テーブル名.where(カラム名: "条件").pluck(:取り出したいカラム)

例)

 User.where(gender: "male").pluck(:name)

 とするとuserテーブルの内の男性(male)だけの名前(name)が取得できる。

 ["太郎", "次郎"]

 というように配列で受け取れる

 

 複数のカラムを取得する際は

 User.where(gender: "male").pluck(:id, :name)

 とすると

 [[1, "太郎"], [2, "次郎"]]

 と取得できる

 

レコードの個数を指定する limit

テーブルからデータをとってくる際に、個数に制限をかけて取得したい場合

モデル名.limit(n)

で個数を制限できます。

例)

 先頭から3つのレコードを取得

 @discography = Discography.limit(3)

 

 5つ目から3つのレコードを取得

 @discography = Discography.limit(3).offset(4)

 

 

配列から順番に取り出していく方法 slice!

要素.slice!(引数)

で要素から指定した引数にあたる値を配列から取り出す。取り出された値を返してくれる。

a = ["a", "b", "c"]

a.slice!(1)

=>"b"

a

=>"a","c"

 

範囲指定

a = ["a", "b", "c"]

a.slice!(0, 1)

=>"a", "b"

a

=>"c"

 

 

railsでの複数checkboxの設置、値の取得の方法

オプションで{multiple: true}を設定

 

 

日付の関連の取得方法

 

今日の日付 Date.today

=>2021-02-03

 

日にちを整数で取得(1~31) mday

Date.today.mday

=>3

 

月を取得 month

Date.today.month

=>2

 

年を取得 year

Date.today.year

=>2021

 

1月1日からの通算日を取得(1~366) yday

Date.today.yday

=>34

 

暦週を取得 cweek

Date.today.cweek

=>6

 

曜日 wday

曜日を数値の0~6で返してくれる。(0=>日、1=>月、 2=>火・・)

例)

 weekday = %w[日 月 火 水 木 金 土]

 weelday[Date.today.wday]

 =>水

 

 

hidden_fieldとhidden_field_tagの使い方

form_forやform_tagの中で使う場合は

f.hidden_field

単体で使う場合は

hidden_field_tag を使う

 

f.hidden_fieldの使い方

f.hidden_field :カラム名, :値

例)

<%= form_for @user do |f| %>

 <%= f.text_field :name %>

 <%= hidden_field_tag :user_id, current_user.id %>

 <%= f.submit "送信" %>

<% end %>

 

コントローラ側で

name を取得する場合

 params[:user][:name]

user_idを取得する場合

 params[:user_id]

 

hidden_field_tagの使い方

hidden_field_tag :変数(第一引数), 渡したい値(第二引数)

例)

 <%= hidden_field_tag :email, @user.email %>

 コントローラ側でparams[:email]で値を取り出せる。

 

ちなみに、下記サイトでより細かく説明してあります。

form_forとform_tagでのparamsの違いなども説明してあり、非常に参考になりました。

【Rails】form_forの使い方をマスターしよう! | Pikawaka - ピカ1わかりやすいプログラミング用語サイト

 

 

 

form_with, form_forでのプルダウンの設置方法

f.select :保存先のカラム名, [["選択肢A", "実際に保存させる内容"], ...], include_blank: '選択してください'

 

例)

 <%= form_with model: @food do |f| %>

  <%= f.select :fruit, [["りんご", "りんご"], ["みかん"m "みかん"], [”ばなな”, "ばなな"]], include_blank: "選択してください" %>

  <%= f.submit '送信' %>

 <% end%>