本日の学び 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は追加するという意味らしい。