本日の学び 2021/05/02(params)
paramsの考え方
カリキュラムを進めていく中でよく見かけ
そしてなんとなく記述していたこれ
@prototype = Prototype.find(params[:id])
先ず、findは探すという意味らしい。
そして重要なのが(params[:id])と記述している
[]の中に特定のカラムを記述する。
これによりクリックした際、指定したところに遷移できる。
逆にこれを記述していなければ遷移できないく
また特定というのがかなり重要で例えばimageなどの不特定多数を
表すカラムを指定するとimageの中のどれを表示させたいのってなり
エラーが起きる。
また、そもそもparams=パスパラメーター=ストロングパラメーターである。
問題文によって書き方が違うので初めは
別のことを問われているのかと勘違いしていた。
そのストロングパラメーターで深堀りしていくと
private
def prototype_params
params.require(:prototype).permit(:title, :catch_copy, :concept).merge(user_id:)
end
上記のような記述があると
先ずrequireというのは箱の名前のようなもの。
そしてpermitというのは箱の中身。
つまり上記の記述であればprototypeの中のtitle,catch_copy,conceptを
保存できるということになる。
ちなみにmergeは追加するという意味らしい。