ユーザー編集画面が表示されるよう設定
users/edit.html.erbを表示させるため必要なルーティングとコントローラーを実装する
1.ルーティングの設定(routes.rb)
resources :users, only: [:edit, :update]
↑
editとupdateのみコーティングするためresourcesにeditとupdateをonlyに付けました。
2.ターミナルでrails g controller users
↑
usersコントローラーの作成
3.コントローラーにeditとupdateアクションの記述
def edit
end
def update
current_user.update(user_params)
end
private
def user_params
params.require(:user :モデル名).permit(:name, :email :カラム名)
end
↑
・ストロングパラメーターを使用しupdateアクションをuser_paramsに定義する。
・current_userメソッドを使用して更新する。
・requireメソッドを使用しuserモデルから情報を持ってくる。
・さらに詳細をpermit(パラメーターを指定する)
ちょっと拙いアウトプットかと思いますが・・・
暖かい目でよろしくお願いします。
ruby 基礎 include?を使った名前の登録
rubyの勉強をアウトプットします。
今回の問題はこちら!!
問題.1
名前を入力する機能を作成しましょう。
名前以外にピリオド(.)や空白があるとエラーを表示させます。
出力例:
登録したい名前を入力してください(例)YamadaTaro
YamadaTaro → 登録が完了しました
Yamada.Taro→!エラー!記号は登録できません
Yamada Taro → !エラー!空白は登録できません
問題.1
名前を入力する機能を作成しましょう。
名前以外にピリオド(.)や空白があるとエラーを表示させます。
①まずincludeメソッドを実行するためにhashでインスタンス変数を作っておく。
hash = gets.chomp(ターミナルで入力)
②if文とincludeメソッドを使い出力したい内容を記述する。
if hash.include?(".")→.はありますか?
puts "!エラー!記号は登録できません"
elsif hash.include?(" ")→" "空白はありますか?
puts "!エラー!空白は登録できません"
else
puts "登録が完了しました"
end
if文を使うイメージはできてたがコードを書いてみて応用がたくさんできると感じたので、たくさん書いて使っていきたい✌️
■
rubyのハッシュの復習をアウトプットします。
複数のユーザー情報をハッシュとしてもつ変数を名前だけ取り出す。
user_data = [
{user: {profile: {name: 'George'}}},
{user: {profile: {name: 'alice'},
{user: {profile: {name: 'Taro'}}}
]
key1がuser
key2がprofile
key3がTaroとなる。
なので
each文を使いvaluesを全て表示する。
user_data.each do |user|
puts user[:user][:profile][:name]
end
となる。
Georgeのみを取り出す場合は
puts user[0][:user][:profile][:name]
で取り出せました✌️
どんどんこの調子で覚えていきます。
カフェでの勉強とユーザーの登録の設定
久しぶりの平日の休み✌️
よく集中できるカフェに行ってきました!!
ユーザーの登録の設定やdeviseをGemファイルに記載し新規登録やログインの実装を行った。なかなか記憶の定着には程遠い・・・
練習問題もあるし何度も問題をときながら勉強していきたいと思いました。
そしてなんとプログラミングの勉強をしてからメモを取りづ付けていたノートが2冊目にいきました。やっぱり書くと覚えるし見返すこともたくさんあったのでこれからも付けて行こうかなと思います。
今回勉強した内容のアウトプットを行おうと思います。
1.deviseの設定ではGemの導入を行う。→gem 'devise'
2.ターミナルでbundle installを実行しインストール。
3.インストールを行う。→rails g devise:install
4.モデルの作成 →rails g devise(modelではない)user
5.テーブルの作成 →rails db:migrate
続きは明日勉強してアウトプットします。
PicTweetの作成①
2日連続の更新です❗️❗️
今日はスクールで勉強しました。
初のカリキュラムでPicTweetの作成😁
表示・保存・削除の項目をやりました✌️
だけどカリキュラム通りに行ってるのでどこが難しいのか・・・
どこがわかってないかもわからず無心にカリキュラムを進めてます・・・
勉強方法大丈夫かなぁ・・・。
とりあえず一通り作って見てその後繰り返します。
来週の日曜には完成目指す😆✌️