はじめに
RailsのCRUDを学習し直すために、簡易的な勤怠管理アプリを作成したため、自分用の備忘録としてまとめてみました。基本的なものだけを紹介しているので、より詳しく知りたいものについては適宜ご自身で調べながら読み進めて頂けると幸いです。
また、こちらはプログラミング初学者がまとめた記事となりますので間違っていることがあるかもしれません。その際はご指摘等頂けると幸いです。宜しくお願いします。
本記事の内容
Railsでよく使われる文法の解説。
対象者
Railsのparamsについての基礎が抜けていたので備忘録としてメモです
もしかしたら間違っているところもあるかもしれないので、その際は優しく指摘頂けると幸いです🙇🏼♂️
find_by
メソッドの使い方
特定のidの投稿を取得するためにfind_by
を使う
post = Post.find_by(id:3)
のような感じ
こうすることによってデータベースから特定のidを持った値を取得できる
URLにidを含める 方法
ルーティングをいじっていく
get "posts/:id" => "post#show"
こうすることで特定のidを持った投稿の詳細ページに飛べる
params
の使い方
viewファイルのアクション内で@id
のような形でインスタンス変数を作ってあげる
そこにparams[:id]
を代入する
@id = params[:id]
のような感じ
viewファイルに<%= @id %>
とすれば、idを表示できる
この考え方を応用して、
@post = Post.find_by(id: params[:id])
のようにfind_by
とparams
の合わせ技でURLに含まれるidを持った値を取得できる
例えば@post
を用いて<%= @post.content %>
とすれば指定したidの内容を表示できる(contentカラムが存在する場合)
link_to
について
link_to(リンクテキスト, リンク先URL)
フォームの入力内容を受け取る方法
フォームから入力内容を受け取る際もparams
を用いて、
@post = Post.new(content:params[:content])
と取得できる
paramsの後に指定する名前は <textarea>
などのフォームについているname=" "
と紐づく
form_tag
Railsで投稿フォームを作成する場合にform_tag
を用いると楽ができる
全体をform_tag
で囲み、その中に投稿用のHTMLを書く
<%= form_tag('/posts/create') do %>
(中身)
<textarea></textarea>
<input type="submit" value="投稿する">
<% end %>