※ルーティング内
rails
1get "users/:id/edit" => "users#edit"
※コントローラー内
rails
1 def edit 2 @user = User.find_by(id: params[:id]) 3 end
※edit.html.erb内
rails
1 <%= form_tag("/users/#{@user.id}/update") do %>
質問が3つあります。
1.コントローラー内の@userにはidのみが代入されているのでしょうか?
2.コントローラー内のUserはどこのUserを指定しているのでしょうか?(多分このコードの中にはないですが、言葉で説明できるようなことだったら教えて欲しいです。)
3.仮にコントローラー内の@userにidが代入されているのだとすれば、edit.html.erb内のURLに#{@user.id}のidが入る理由がわからないです。
私は、ルーティング→コントローラー→edit.html.erbの順番で書いています。書き方がおかしいので、3のような疑問が出て来るのでしょうか?
部分回答でも構いませんので、お分かりの方、教えて下さい。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/10/23 08:47
退会済みユーザー
2018/10/23 08:55
退会済みユーザー
2018/11/14 08:33