Closed shyuhei-kaneko closed 5 years ago
原因の予想
ルーティングにパラメータを含める形にしたのでその影響だと思います。routes.rbも修正しないとルーティングパスが一致しないのでエラーになっているのかなと思いました。
https://github.com/shyuhei-kaneko/Intern-Attendance-B/blob/basic/config/routes.rb#L13-L14
アクションを呼び出すためにルーティングを合わせる必要があると思います。 https://railsguides.jp/routing.html
お世話になります。 アドバイスを具体的に実現するためにどうすればいいのかイマイチイメージが湧かないです・・
>ルーティングにパラメータを含める形 自分なりに予想すると、
修正前 patch 'attend_edit' => 'users#attend_update' 修正後 patch 'attend_edit/:id' => 'users#attend_update'
こういった感じになるということでしょうか??
そもそも渡すべきパラメーターがどれなのか把握出来ていません。(自分でコーディングしておいで申し訳ないです・・)
検討違いな事言っている気もするのですがお願いします😓
2019年1月8日(火) 22:35 konchan notifications@github.com:
原因の予想
ルーティングにパラメータを含める形にしたのでその影響だと思います。routes.rbも修正しないとルーティングパスが一致しないのでエラーになっているのかなと思いました。
https://github.com/shyuhei-kaneko/Intern-Attendance-B/blob/basic/config/routes.rb#L13-L14
アクションを呼び出すためにルーティングを合わせる必要があると思います。 https://railsguides.jp/routing.html
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/rexitorg/menta/issues/3#issuecomment-452300251, or mute the thread https://github.com/notifications/unsubscribe-auth/Ap4qEvzfLJNSzULw3CXtr0sz_61jc5ISks5vBJ64gaJpZM4Z1ajh .
そもそも渡すべきパラメーターがどれなのか把握出来ていません。
なるほど。現状だと渡そうとしているのでfirst_dayとuser.idですね 下記の第一引数と第二引数で設定しています。
https://github.com/shyuhei-kaneko/Intern-Attendance-B/blob/basic/app/views/users/show.html.erb#L30
ただfirst_dayの仕様がわかってないので本当に渡す必要があるのか自分もまだ把握できてないです。 ロジックとしてはここですかね? https://github.com/shyuhei-kaneko/Intern-Attendance-B/blob/master/app/controllers/users_controller.rb#L119-L130
検討違いな事言っている気もするのですがお願いします😓
見当違いなことは言ってないですよ!大丈夫です!:+1:
これ勤怠についてもusersで処理してしまってるんですね。Fat controllerになるのであまり良くない実装かもしれないです。 attendance(勤怠)というresourceを編集するなら
resource :attendances
とかをroutes.rbに定義してあげるのが本来は良いです。
ルーティングでどう言ったルートが定義されているのか確認したい場合はrake routesとか使うと良いと思います:smile:
$ bundle exec rake routes | grep attend
attend_edit GET /attend_edit(.:format) users#attend_edit
PATCH /attend_edit(.:format) users#attend_update
お世話になります。
>ただfirst_dayの仕様がわかってないので本当に渡す必要があるのか自分もまだ把握できてないです。 first_dayはshowページで表示している「月」の情報です。(showページでは任意の月情報を表示させる機能がございます。) 勤怠一括編集する月の情報表示をする為にfirst_day(表示月の情報)を渡している。という意図がありました。 ・・伝わりますでしょうか?
>これ勤怠についてもusersで処理してしまってるんですね。Fat controllerになるのであまり良くない実装かもしれないです。 >attendance(勤怠)というresourceを編集するなら
>resource :attendancesとかをroutes.rbに定義してあげるのが本来は良いです。 bluk_editという名前でブランチを切ってご指摘の部分修正致しました。git hubへpushもしています。
>ロジックとしてはここですかね? そちらでなく下記になっております。 https://github.com/shyuhei-kaneko/Intern-Attendance-B/blob/bulk_edit/app/controllers/attendances_controller.rb 94行目の部分になります。
あと、困っている事についてもう一度共通認識として確認したいのですが、 attend_edit.html内にある%= f.submit "編集を保存する", class: "btn btn-primary" %>ボタン押下時に反応しなくて困っている。 skack内のDMに画像もありますのでそちらも見て頂くとイメージつきやすいと思います。 認識と相違ないでしょうか
以上です。よろしくおねがいします。
2019年1月10日(木) 4:46 konchan notifications@github.com:
そもそも渡すべきパラメーターがどれなのか把握出来ていません。
なるほど。現状だと渡そうとしているのでfirst_dayとuser.idですね 下記の第一引数と第二引数で設定しています。
https://github.com/shyuhei-kaneko/Intern-Attendance-B/blob/basic/app/views/users/show.html.erb#L30
ただfirst_dayの仕様がわかってないので本当に渡す必要があるのか自分もまだ把握できてないです。 ロジックとしてはここですかね?
検討違いな事言っている気もするのですがお願いします😓
見当違いなことは言ってないですよ!大丈夫です!👍
これ勤怠についてもusersで処理してしまってるんですね。Fat controllerになるのであまり良くない実装かもしれないです。 attendance(勤怠)というresourceを編集するなら
resource :attendances
とかをroutes.rbに定義してあげるのが本来は良いです。
ルーティングでどう言ったルートが定義されているのか確認したい場合はrake routesとか使うと良いと思います😄
$ bundle exec rake routes | grep attend attend_edit GET /attend_edit(.:format) users#attend_edit PATCH /attend_edit(.:format) users#attend_update
— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/rexitorg/menta/issues/3#issuecomment-452802757, or mute the thread https://github.com/notifications/unsubscribe-auth/Ap4qEhtMjU_x6vmVXUAtNsBI0TNYdsDBks5vBj3EgaJpZM4Z1ajh .
勤怠一括編集する月の情報表示をする為にfirst_day(表示月の情報)を渡している。という意図がありました。 ・・伝わりますでしょうか?
なるほど、これは日付である必要はあるんでしょうか?年月情報でも良い?と思ったりしました
bluk_editという名前でブランチを切ってご指摘の部分修正致しました。git hubへpushもしています
branchをpushするだけだと修正箇所がわからないので通常その場合はPR(Pull Request)を作成していただくことになると思います!
https://github.com/shyuhei-kaneko/Intern-Attendance-B/pulls
このページからNew Pull Request
を選択して切り出し元branch向けにPRを作成して頂ければと思います:bow:
94行目の部分になります。
L94の部分はパラメータが渡ってきてeditのアクションが実行された時のロジックですよね?users#show
を表示してeditを押下する際にリクエストパラメータとして渡すのはdef show
内で定義しているパラメータになるのかなと思いました。と思ってましたが事象を勘違いしていたかもしれないです。
あと、困っている事についてもう一度共通認識として確認したいのですが、 attend_edit.html内にある%= f.submit "編集を保存する", class: "btn btn-primary" %>ボタン押下時に反応しなくて困っている。 skack内のDMに画像もありますのでそちらも見て頂くとイメージつきやすいと思います。 認識と相違ないでしょうか
こちら勘違いしていました 勤怠を編集
を押下した際にeditページに遷移しないといった事象かと思っておりました。申し訳ございません:bow:
添付しましたmm
こちら反応しないというのはdef attend_update
の処理を通っているかどうかは確認済みでしょうか?
あと気になったところとしてコードのインデントが揃ってないのでエディタのautoformatterとかを使って揃えた方が良いと思います:bow:
>branchをpushするだけだと修正箇所がわからないので通常その場合はPR(Pull Request)を作成していただくことになると思います! https://github.com/shyuhei-kaneko/Intern-Attendance-B/pulls このページからNew Pull Requestを選択して切り出し元branch向けにPRを作成して頂ければと思います
申し訳ありません。PR作成致しました。(初めてだったのですが多分大丈夫だと思います。) https://github.com/shyuhei-kaneko/Intern-Attendance-B/pull/3
>def attend_updateの処理を通っているかどうかは確認済みでしょうか? こちら確認しました所通っていない様でした。 方法はdef attend_updateでデバックをかけて「編集を保存する」を押下してみた所デバックの反応が無かった事を確認しました。 これはルーティングの patch 'attend_update' => 'attendances#attend_update' が怪しいと考えられるのでしょうか
>コードのインデントが揃ってないのでエディタのautoformatterとかを使って揃えた方が良いと思います 知らない内容でしたので自分なりに調べて見ましたが分かりませんでした。 解説記事等ありましたら添付していただけると嬉しいです。
2019年1月11日(金) 2:01 konchan notifications@github.com:
勤怠一括編集する月の情報表示をする為にfirst_day(表示月の情報)を渡している。という意図がありました。 ・・伝わりますでしょうか?
なるほど、これは日付である必要はあるんでしょうか?年月情報でも良い?と思ったりしました
bluk_editという名前でブランチを切ってご指摘の部分修正致しました。git hubへpushもしています
branchをpushするだけだと修正箇所がわからないので通常その場合はPR(Pull Request)を作成していただくことになると思います! https://github.com/shyuhei-kaneko/Intern-Attendance-B/pulls このページからNew Pull Requestを選択して切り出し元branch向けにPRを作成して頂ければと思います🙇
94行目の部分になります。
L94の部分はパラメータが渡ってきてeditのアクションが実行された時のロジックですよね?users#show を表示してeditを押下する際にリクエストパラメータとして渡すのはdef show 内で定義しているパラメータになるのかなと思いました。と思ってましたが事象を勘違いしていたかもしれないです。
あと、困っている事についてもう一度共通認識として確認したいのですが、 attend_edit.html内にある%= f.submit "編集を保存する", class: "btn btn-primary" %>ボタン押下時に反応しなくて困っている。 skack内のDMに画像もありますのでそちらも見て頂くとイメージつきやすいと思います。 認識と相違ないでしょうか
こちら勘違いしていました 勤怠を編集 を押下した際にeditページに遷移しないといった事象かと思っておりました。申し訳ございません🙇
[image: 2019-01-07 21 06 29] https://user-images.githubusercontent.com/13507595/50983738-74517b80-1543-11e9-9402-541c4981fd4a.png
[image: 2019-01-07 21 06 48] https://user-images.githubusercontent.com/13507595/50983747-7ca9b680-1543-11e9-9640-3db097714299.png
添付しましたmm
こちら反応しないというのはdef attend_updateの処理を通っているかどうかは確認済みでしょうか?
あと気になったところとしてコードのインデントが揃ってないのでエディタのautoformatterとかを使って揃えた方が良いと思います🙇
— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/rexitorg/menta/issues/3#issuecomment-453172265, or mute the thread https://github.com/notifications/unsubscribe-auth/Ap4qEqXZebSguNfx6f8Pq2KFzO3DZ0xZks5vB3H6gaJpZM4Z1ajh .
PR作成致しました。(初めてだったのですが多分大丈夫だと思います。)
こちらdescriptionにどういった変更を入れたのかなど説明の記載をお願いします:bow:PRはコードの変更に関して説明を記載してレビューしてもらうものなので見てもらう人に自分がやったことをできるだけわかりやすく伝える必要があります
方法はdef attend_updateでデバックをかけて「編集を保存する」を押下してみた所デバックの反応が無かった事を確認しました。
こちらデバッグはどの位置に仕込みましたか?またconsole(rails sしているサーバー)のログはどのように出力されていますか?エラーログが出力されていないかなども見ていただければと思います:bow: またデバッグを細かく仕込んで変数の値に何が格納されてどう動いているかもチェックして頂きたいです:bow: あとデバックは正しくはデバッグだと思います。 https://wa3.i-3-i.info/word16465.html
知らない内容でしたので自分なりに調べて見ましたが分かりませんでした。 解説記事等ありましたら添付していただけると嬉しいです。
Cloud9のIDEではRubyのフォーマッタが定義されていないみたいですね。 https://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/settings-project.html#settings-project-change-code-formatters
これの内容が近いですね https://www.job-support.co.jp/howto/pdf/howto01.pdf
コードの見た目をルールにしたがって綺麗に保つことは現場だと必須になっています。(綺麗に保たれていない現場もあったりしますが...
AtomやRubyMineといったエディタでは自動やショートカット一つでコードを整形する機能があったりします:bow: https://qiita.com/hagityann224/items/be07c9a5b3aceaeacd6a
承知しました。先ほどdescriptionへ説明記述致しました。
2019年1月11日(金) 10:05 konchan notifications@github.com:
PR作成致しました。(初めてだったのですが多分大丈夫だと思います。)
こちらdescriptionにどういった変更を入れたのかなど説明の記載をお願いします🙇 PRはコードの変更に関して説明を記載してレビューしてもらうものなので見てもらう人に自分がやったことをできるだけわかりやすく伝える必要があります
— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/rexitorg/menta/issues/3#issuecomment-453327379, or mute the thread https://github.com/notifications/unsubscribe-auth/Ap4qEku08R1QMm8s0l5DS79kvDX0aoTUks5vB-NogaJpZM4Z1ajh .
承知しました。先ほどdescriptionへ説明記述致しました。
こちらmergeされてしまっているようです:cry:
申し訳ありません。 注意致します😥
2019年1月11日(金) 11:16 konchan notifications@github.com:
承知しました。先ほどdescriptionへ説明記述致しました。
こちらmergeされてしまっているようです😢
— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/rexitorg/menta/issues/3#issuecomment-453346361, or mute the thread https://github.com/notifications/unsubscribe-auth/Ap4qErs6ihrclyBIzG9J5l_fQTEvX07aks5vB_QMgaJpZM4Z1ajh .
大丈夫です!ただ未レビューのものがmergeされるのはよくないのでrevertという処理で戻してもらうことは可能でしょうか? こちらが参考になるかなと思います! https://blog.github.com/2014-06-24-introducing-the-revert-button/
またこちらの後半部分もご確認よろしくお願いします:bow: https://github.com/rexitorg/menta/issues/3#issuecomment-453327379
revertの件、承知いたしました。 只、今回の困っている事その2におきましては解決致しました! 今回、PR、merge、revertに関しても勉強になりました。 ありがとうございました。
なるほど、そうなんですね!良かったです! もし時間がありましたら事象の原因とその対処方法について記載をお願いしたいです。 アプリケーションを作る際は何を考えてどう作ったかといったプロセスが重要になってくるのでそこを正しく理解しておく必要があります。PRにしても現場で使われている作業フローなのでここが疎かだと業務としては成り立ちません。転職活動する際もとりあえず動くアプリケーションを作っていることはそこまで重要ではなく、どうやって作業したか、何を考えて作業したかと言った部分の方が重要になってくると思います。 ポートフォリオとしてGitHubのリポジトリを提出することになったりすると思うんですが、PRの作成は履歴として残っているのでそこを閲覧されると丁寧に作業する人かどうかというのが一目瞭然だったりします:bow:
承知致しました。 原因 htmlの記述に問題があった。 ↓ tableタグの中にformタグを書いてしまっていた。
対応内容 formタグをtableタグの上部へ移動させた。 以上です。
ありがとうございます。 こちらの内容が近そうですね:smile: http://tkoyama1988.hatenablog.com/entry/2014/01/01/165437
今回の場合だと
table開始 form開始 table終了 form終了
というDOM構造になっていたのも宜しくなかったのかなと思いました:bow:
@shyuhei-kaneko こちら解決したようなのでcloseしておきます:bow:
概要
現在railsで作成中のシステムが御座います。 概要といたしましては勤怠情報をを管理するシステムとなっています。 ・サインアップ、ログイン機構がございます。 ・ユーザー情報とそれに紐づく勤怠情報が存在しています。それぞれモデルに記録していきます。 ・ログイン後に勤怠情報を記録・表示するページが表示されます。 ・ユーザーは自身のみの勤怠情報や基本情報に関して編集を行う事が可能です。 ・他のユーザーとは別の管理者アカウントという物が存在しています。 管理者は他のユーザー一覧を閲覧、編集が可能となっています。 管理者はユーザー一覧から任意のユーザーを選択後、勤怠情報を自由に編集する事が可能です。 簡単では御座いますが以上がシステムの概要となります。
Git Hub URL https://github.com/shyuhei-kaneko/Intern-Attendance-B/tree/master masterブランチを参照願います。
管理者情報 メールアドレス admin@gmail.com パスワード foobar 名前はadmin
実現したいこと
一ヶ月分の勤怠情報の一括編集機能を実装したい。
困っていること
勤怠情報一括編集ボタンが効かない (入力フォームへ値を入力後にボタンを押下しても反応しない) 以前はキチンと動いていました。 しかし当月の情報しか編集出来ないという不具合を対応しまして、showページ側から該当月の値(@first_day)をcontroller(def attend_edit)側へ引き渡しています。 その対応後以降、押下しても反応しなくなってしまいました・・・。
概要についてはslack DM画面キャプチャを参照願います。
困っていることがバグの場合は事象やログ、エラーメッセージをできるだけそのまま(抜粋などしない)下記に記載してください。
問題点の原因が掴めていない為対応方法が分かりません。
解決するために行ったこと
原因がわからない為対応方法が分かりません
問題となっている箇所の予想
変数等の値が上手くメソッドへ渡っていない?