Ruby/RubyOnRails-日本語
Rails 一日一つメソッド (Day11) + form_with, link_to, each, present?メソッド
아랑팡팡
2023. 12. 31. 18:25
728x90
Rails 一日一つメソッド (Day11) + form_with, link_to, each, present?メソッド
今までのRails 一日一つメソッド勉強で足りなかったメソッドについて調べてみる。
1. form_with
railsで情報を送信するためのヘルパーメソッド
form_withを使うことにより、簡単な入力フォームに必要なHTMLを作成することができる。
入力された情報をデータベースに保存する時
Modelインスタンスを使う場合
<%= form_with model: ModelClassのインスタンス do |form| %>
<!-- 内容 -->
<% end %>
入力された情報をデータベースに保存しない時
URL と直接指定する場合
<%= form_with url: "pass" do |form| %>
<!-- 内容 -->
<% end %>
2. link_to
ViewHelperでHTMLハイパーリンクを生成する時に使う。タグの代わりに使用される。
link_to使い方
<%= link_to 'リンクテキスト'、'link先URL' or 'パス'%>
メソッドオプションや属性を指定することも可能。
例)”削除”リンクを押してデータを削除する場合 method で deleteを指定することでデータを削除する。また、data:{confim} の確認ダイアログを記述することで、削除前に確認ポップアップが現すこともできる。
<%= link_to '削除する', "パス", method: :delete, data: { confirm: '本当に削除してもOKですか?' } %>
リンクテキスト
パス
link_toをJavaScriptと使う
<%= link_to, '削除', post_path(@post), method: :delete, data: {confirm: '本当に削除しますか?' } %>
3. each
配列の中身を一つずつ取り出すメソッド
eachメソッドの使い方
配列.each do |変数|
# 処理
end
[1, 2, 3, 4, 5].each do |number|
puts number
end
arr = [1, 2, 3, 4, 5]
arr.each do |number|
puts number
end
# 1
# 2
# 3
# 4
# 5
railsでeachメソッドの使用
<% @users.each do |user| %>
<%= user.name %>
<% end %>
4. present?
preset?メソッドを使用したオブジェクトが存在すればtrueを返し、存在しなければfalseを返すメソッド
present?メソッドの使い方
Object.present?
user_name = "Arang"
user_name.present?
=> true
=> false
文字列で使用
"".present? # false
" ".present? # false
#text".present? # true
配列で使用
[].present? # false
[1, 2, 3].present? # true
ハッシュで使用
{}.present? # false
{ key: "value" }.present? # true
railsで使用
if params[:name].present?
# params[:name]が存在する場合の処理
end
728x90
반응형
LIST