アレを作るためにやらなきゃいけないこと
ブログをメモ超兄貴にするのはどうかと思うけど
知るか
ここはおれのブログだ
まず
・投票先db(名前未定。Candidateとかどうだろう?)を作り、お題db(Election)と連携させる。
あッ そうだ
データベースの構造を少し変えることにしました。
今まではElectionデータベースに100の空箱(candidate0からcandidate99、votes0に……)を用意してそこに投票先と得票数を収めるシステムにしてましたが
モォ~~~~っといいやつ、思いついちゃいました☆
データベースの横の広がり(レコード、あるいはロウ?)には限度があるし
手動で作らなアーカンソー州だからキングカズを荒唐無稽に増やしていくのはnotよろしおす
やけん、データベースの縦の広がり(カラム?)はほぼ無限(初心者のたわごとにつき、真に受けるスカルズ)だし自動で作ってくれるので
candidate0,1,2,3~~~~~……って風に空箱を手動で作るより~~
Candidateデータベースを作り候補者名(candidatename)、得票数(votes)、投票のお題(electionname)カラムを作り
投票のお題カラム(@candidate.electionname)を目印にElectionデータベースと連携させる
そんな風に作った方がスマートなんじゃねーのぉ??ってなって
データベースの構造を少し変えました
データベース間の連携の練習にもなるしね!
※追記: Candidateカラムにnominator(推薦人)カラムを追加したよ~~
composer(提案者)以外のユーザーもcandidate(候補者)を後から追加できるようにだよ~~
……ハァ、でもやらなきゃいけないことはまだあって
・重複投稿を禁止するシステム(履歴データベースみたいなのを作るとか?)
・アカウント名簿とログインフォーム(シロウトなのにセキュリティを作るってこわ~い)
今思いつくものだけでもこんなにある?
いやんなっちゃうね~~~~
まぁ今日も元気に
※この記事がプロジェクトの進行とともに随時更新していく予定だよ~~~
ここから先は追記分
続きを読むRailsのデータベースがよくわからん!!
Railsで「ユーザーが自由にお題を出し、自由に選挙、あるいはアンケート、人気投票をやれる」ってサービスをつくりたい。
そのためにはどんなデータベースが必要か?
まずおおっざぱな選挙という箱を作る
rails generate model election name:string about :text proposer:string
ってな感じで
さて、こっからが問題で
ユーザーが好き勝手に議題を追加していけるようにしたい
選挙候補が常にふたつみっつとは限らない
ユーザーがどれだけの候補を立てたがるかわからない
だからユーザーが自由に拡張できるデータベースにしなきゃいけない
だけど……
そんなやりかた
わからん
だからとりあえず
「候補者」「得票数」っていう空箱を
100個用意することにしました
candidate0:string votes0:integer candidate1:stiring votes1:integer candidate........
でもさぁこれ……
めちゃんこ無理押しじゃない?
誰かさんがいってた
「良いプログラマーは手間を省くための手間を惜しまない」って
おれは、あまりよくないプログラマーの道を進みつつある気がする
(でもさっきのコマンド、わざわざ手書きせずにRubyでeachメソッドを使って生成したよ!)
(ほめて!!)
前途多難の暗雲低迷だけど、これからも
フムスにしてピタパンといっしょに食べるとおいしいよ!