忘備録とマイルストーンスマートフォン用の表示で見る忘備録とマイルストーンWEBエンジニアを目指す20代男性の奮闘記この広告は、90日以上更新していないブログに表示しています。2019-02-18プログラミング初心者がWEBサービスを作ってみる―アプリ開発編5オリジナルWEBサービスいよいよメインとなる採点機能の実装に入るが、開発がなかなか難航している。”オリジナル”らしいことをしていることもあり、予定していたより大きく後れをとってしまった。コードを書く時間<<<エラー文を見て調べている時間、になりつつもあり、仕様の見直しもすることになりそうだ。実装する採点機能とはいうものの、今回制作しているWEBアプリでは実は2段階に分けて実装されている。1チームの総評を記録するmatch_ratingsと2選手個人に紐づけられるrating_detailsの両者で採点機能を担っているのだ。一度データベース図を確認しておこう。v0.1match_ratingsはlineupsとusersを、rating_detailsはmatch_ratingとplayersをそれぞれ親に持つ構造になっていることが分かる。将来的に多数の試合から選手個々の採点平均値を出すようなことを見込んでのことだ。1match_ratingsここからユーザーが操作できるデータになってくるが、そこまで難しい実装ではないはず。lineups/showshowアクションについては2rating_detailsができてからの編集になる。MatchRating特筆することはない。丁寧にマイグレーションファイルを編集し、関連モデルにアソシエーションを追記。あとはモデル自身にバリデーションをかけておく。createbefore_actionを追加しログイン制限をかける。parametersで不正入力を防止。endendredirect_toとrender_toがごっちゃになってきたのでここで一度整理。RailsドキュメントRailsドキュメントだとちょっとredirect_toが分かりづらいので補足。・render_to:ビューを返す=ビューを指定ということだろうか。lineups/showに作成する。newアクションの代わりにインスタンス変数@match_ratingsを1行目できちんと用意してやる。exist"のエラーメッセージが。2の前に詰まってしまったぞここで本格的に詰まってしまった。parametersにはしっかりlineup_idが入っている(5行目)ように見える。falsehidden_field_tagが間違っているのかと疑い思いつく限り試してみるのだが不発。ここで本格的に詰まってしまった。paramsの時少し学んだが)なので復習。ガイドRailsに限らず、一般にWebアプリケーションでは2種類のパラメータを扱うことができます。1番目は、URLの一部として送信されるパラメータで、「クエリ文字列パラメータ」と呼ばれます。クエリ文字列は、常にURLの"?"の後に置かれます。2番目のパラメータは、「POSTデータ」と呼ばれるものです。POSTデータは通常、ユーザーが記入したHTMLフォームから受け取ります。POSTリクエストの一部として送信されるからです。Railsでは、クエリ文字列パラメータの受け取り方とPOSTデータの受け取り方に違いはありません。どちらもコントローラ内ではparamsという名前のハッシュでアクセスできます。createで利用していたparamsは、厳密に言えば別物ということになる。先ほどのparametersを見てみると、ここで取得しているlineup_idはどうやらURLの一部として送信されるクエリ文字列パラメータに過ぎず、肝心のmatch_ratingsのフォームには何も入っていない。match_ratingsで直接lineup_idを入力してやる。match_ratingsを再編集(抜粋)。params[:lineup_id]再度項目を入力して送信してみると、無事成功!これで何とか1チーム採点機能match_ratingsを実装することができた。思わぬところで貴重な時間を喰ってしまったが、何とか選手採点機能へと進むことができた。ここで理想と現実のギャップを目の当たりにする。一括登録機能の実装を前に、またGoogleと格闘する日々が続くのだろうか。次回、苦難のアプリ開発編6に続く。インスタンス変数の用意忘れ。22:18プログラミング初心者がWEBサービスを作ってみる―アプリ開発編5Tweet広告を非表示にする関連記事2019-02-15プログラミング初心者がWEBサービスを作ってみる―アプリ開発編3アプリ開発編もパート3に突入しているが、相も変わらずしょうも...2019-02-12プログラミング初心者がWEBサービスを作ってみる―アプリ開発編1前回の投稿からずいぶん日が経ってしまったが、決して進展がな...2019-02-05プログラミング初心者がWEBサービスを作ってみる―サイト設計編2目下迷走を続けるサイト設計。最新記事プログラミング初心者がWEBサービスを作ってみる―アプリ開発編5プログラミング初心者がWEBサービスを作ってみる―アプリ開発編4プログラミング初心者がWEBサービスを作ってみる―アプリ開発編3プログラミング初心者がWEBサービスを作ってみる―アプリ開発編2プログラミング初心者がWEBサービスを作ってみる―アプリ開発編1月別アーカイブはてなブログをはじめよう!sante51さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。