ほげほげパッチ

有る事無い事 徒然なるままに

単語帳 #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
        └ファイル名 <= 勝手にここを読みにいく

  • その他(単語ではないけど)
    ()とか""とか、終わりにつけるのを忘れがちなので、最初に打っちゃう方が良い。