編集画面をいじる。

今回は、プロフィールの編集画面をいじろう

前回では適当な感じでプロフィール画面を作った訳だけども 結局のところ先に編集画面を作らなきゃ プロフィールのところに反映させにくいよなと思いついた訳です。

多分回り道してんだろうけどこれであってるはず。

さて編集画面のルーティングを確認するために ターミナルでrake routesと叩く。

スクリーンショット 2017-10-11 19.24.01.jpeg

はい。相変わらずざっつい画像加工ですんません。

とりあえず、この中で編集に関わってそうなパスを探すと んー。ちょうど真ん中らへんにあるusers/editのかな?

これを実際にブラウザで確認してみよう。スクリーンショット 2017-10-11 19.07.18.jpeg

お、なんかメールやらパスワードやら弄れそうな画面が出てきたということはここであってそう。

しかし、これどうやっていじったらいいんだ・・? とりあえずdeviseで編集画面作ってるしググってみるか。c433b53b-f90b-456d-888d-172cfa06fcc9.png

あ、タイポってるwwww

まぁグーグルさんはそういうとこ賢いから自ら補正して検索してくれてるな。 ありがたやありがたや。

とりあえず、一番上に出てるとこ参考にしてみよう。0cc2532a-d627-4ea8-96a1-51937b6cdbac.png

うん。相変わらずの英文なもんで、 なんとなくは読めなくもないけど必要っぽいとこだけにフォーカスして読んでみる。

えーっと。deviseはデフォルトでregisterableのモジュールでパスワードを変更できると。 ただし開発者としてはパスワードを使わずにユーザの情報を 変更できるようにするためのアクションを作成する必要がある。らしい。多分・・。 とりあえず独自のアプリケーションコントローラを作って更新する方がいいのか。ふむ。

んー。最初のコードを確認するとパラメータ関連の部分いじってそうなんだけど 今のとこ、こういうの作った覚えはないからスルー。

んで、次のコードはなんか他の方法で解決するらしいので こっちでやってみるか。

1行目のコードがコントローラのクラスを指定してるっぽいから 多分registrationのコントローラを作る必要があるな。 ってことでコントローラのディレクトリ直下にregistraions_controller.rbを作成して コードを丸コピしてくる。スクリーンショット 2017-10-11 19.51.27.png

んで、その次のコードを見てみると、何やら見覚えのある感じ。。

devise_for :users, controllers: { registrations: 'registrations' }

んー。これはルートファイルに突っ込めば良さげ。 んが、しかし、この前半はすでに書いてあるので{ }の中の内容だけをコピペかな。スクリーンショット 2017-10-11 19.58.02.png

まぁ単純にomniauthの後に突っ込んだだけなんだけども これで動いてくれるであろう。 あ、ちゃんと現状のコードに合わせてコロンの位置と=>をつけるのを忘れないようにしないとな。

んで最後にcurrent_passwordのあたりをリムーブ。。 ということは削除すればおkかな。

参照するファイルとしてはregistrationのeditだろうから views/devise/registraions/edit.html.erbだな! ここはさっきのファイルパスを確認するときについでに見ていたからわかるぞ!

スクリーンショット 2017-10-11 20.07.47.png

よっしゃ狙い通り。 ってことでこのコードを削除して必要になりそうな入力フォームを作り込んで行くだけか。

これは骨折れそう・・。(;´Д`A

とりあえず次回に作り込んだ内容を公開するとして 今回はここまでに。

ってことで、ではー。

この記事をシェアする