単語帳 #1
ストロングパラメーター :データベースの意図しない(悪意のある)書き込みを防ぐ。定石。
└require 要求params.require(:モデル名)
モデル名の内容を取得するが、空の場合とかをエラーにしてくれる。
└permit 許可params.require(:モデル名).permit(:キー, :キー)
特定のキーの情報だけ取り出す
@コントローラー 受け取ったparamsを処理
プライベートメソッド クラス内に
private
と書けばいい。それより”下が全て”プライベートメソッド。 => クラス内でしか呼び出せないメソッド。
バリデーション valid:力がある。有効な。cf. value:価値 と同じ語源)
=> 動詞化 validate:有効か確かめる。検証する。
=> カラムを指定して、空のデータ、ダブり、文字数制限。
validates :カラム名, presence: true(==空ではないか)
presence
存在すること。出席。
=> 語源の近い言葉。absent:不在、present:現在。
- @モデルファイル
app
└models
└tests.rb
class Test < ApplicationRecord validates :text,presence: true end
link_to ヘルパーメソッド
<%= link_to ‘文字列', ‘URL' %>
<==><a href=“URL">文字列</a>
deleteアクションしたい時(HTTPメソッドを指定したい時)
link_to ‘削除’, ‘/tests/#{test.id}’, date: {turbo_method: :delete}
-なぜターボ?
-シンボルがついたりつかなかったり、前についたり後ろについたり。
-まごうことなく特定の1つを削除、みたいな意味合いでid指定?Prefix URLパターンを変数にした(名前がついた)もの。
->'_path'をつけると、パス指定できる。
link_to ‘削除’, ‘/tests/#{test.id}’, ・・・
=link_to ‘削除’, test_path(test.id), ・・・
delete、'/test/:id'
が飛んでいく。
パラメーターとして、params[:id] = test.id
を携えて。
└>destoroyルーティング
resources tests, only [ :destroy]
└>destroyアクション規定
Test.find(params[:id]).destroy
image_tag 'ファイル名'
==<img /assets/images/ファイル名>
(ヘルパーメソッド)- app
└assets
└images
└ファイル名 <= 勝手にここを読みにいく
- app
その他(単語ではないけど)
()とか""とか、終わりにつけるのを忘れがちなので、最初に打っちゃう方が良い。