Paramsについてちょっとだけ理解が進んだので
def show
@post = Post.find_by(id: params[:id])
end
これが意味不だったのがちょっとわかるようになったので記念に書く。
@post
@をつけとくとこの変数をHTML(erb)ファイル内で呼び出せる。
Post
モデル名。投稿のひな型を呼び出してる。
find_by
メソッド。データベースのレコード(横)から、指定したカラム名の要素を探し出す。
(id: 〇〇 )
カラム名の指定をしてる。idカラムから〇〇のデータ探してこいということ。
( params[ ])
paramsは変数で、[ ]内で指定したデータを拾ってくる。
(コメント欄で指摘いただきました)
[:id]
このとき指定してる[:id]はroutes.rbファイル内から探している。
get "posts/:id" => "posts#show"
クエリパラメータとして:id があるので、その値を受け取っている。
逆から読みといていくと、
まずURLの ":id" の値を取得して
↓
データベース内からidカラムが ":id" に一致するものを探して
↓
Postモデルにそれを放り込んで生成したものを
↓
@postに代入してHTML上で使えるように
という流れ。だと思う。間違ってないと思いたい。
Author And Source
この問題について(Paramsについてちょっとだけ理解が進んだので), 我々は、より多くの情報をここで見つけました https://qiita.com/PlayerNewgame/items/adb13364bcab9e61a1c3著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .