Musicプログラマー備忘録やお酒や音楽この広告は、90日以上更新していないブログに表示しています。Rails近くにRailsの相談出来る人がいなくて、はじめてStackoverflowで聞いてみたのですが、回答が英語でほぼわからず、しまいにはマイナス評価を付けられてボコられてきました。http://stackoverflow.com/questions/24058706/i-cant-save-model-rails4さて、前回までで開発環境がひと通り整いました。今回からは実際に開発をしていきます。1番最初の記事でテストの管理AP作るとか言ってましたが、いろいろ考えまして、今別で作っている為替取引の結果を参照できるようなアプリを作って行こうと路線変更をします。本当に最小構成で以下のような感じのを作っていきます。:ユーザー情報は名前とログインで使うパスワードを持っているです。これをWEB上で行えるようにします。プロジェクトを作るまず、プロジェクトを作ります。generateコマンドを使って作ります。make-moneyというプロジェクトを作りました。Musicで書いた対応が必要になります。(いちいちめんどくさいから早く対応して欲しい。GITHUBに上がってる開発Versionでは対応されている雰囲気がありました。)Scaffoldを使っていろいろつくる次にRailsの強力な機能Scaffoldを使っていろいろ作ります。Scaffoldとは、足場という意味でコマンド一つでMVCを全てばーっと全部作ってくれます。今回作るのは、ユーザー情報なので以下のようなコマンドを叩いてあげます。Railsドキュメントにいろいろ書いてます。すると以下のファイルが生成されます。gしてアプリを起動させてhttp://localhost:3000/usersにアクセスしてみます。するとこんなページができてました。Userのリンクをクリックすると、こんな画面になりユーザの登録が出来ます。登録したら一覧に表示されます。ここで登録したレコードの右側にあるShow、Edit、Destroyをクリックするだけでその動作を行えるようになっています。Jsonにも対応していて、URLの後ろに.jsonをつけてあげるとJSON形式で返してくれます。こんな一瞬でWEBアプリが完成しました。自動生成されたものを少し読み解いていきます。コントローラーコントローラーではusers_controller.rbが生成されています。ひとつ気づくのはパラメータでuserと指定したのにusersになっています。これはグローバルなリソースを意識する場合複数形にする、自分のリソースを意識する場合は単数形にするという考え方から来ています。英語の複数形とか単数形を今までの開発であまり意識したことがなかったのでなれるまでがこれも大変です。他にもModeの場合は他動詞を意識したりとかいろいろあります。users_controller.rbソースを見ると、index,show,new,edit,create,update,destroyが自動生成されているのがわかります。new,editは使わないので割愛します。)indexUserに含まれる全ての値を返しています。処理最後の値が勝手にReturnされます。あと、先頭に@が付いているのはグローバル変数でこれに値を詰めてやってViewとのやりとりを行ってます。showまず、before_actionがshowにかかってるのでset_userが呼ばれます。この中でidが一致するユーザーを返しています。ここのIDはモデル作るときに定義していませんが、必ずプライマリーキーとして自動生成される値になります。create,updateパラメータからUserを作ってあげてます。パラメータはuser_paramsで作ってあげてます。72行目のparams.require(:user).permitはrails4からの機能でモデルに対してアクセス可能な要素の許可を行ってあげています。あと、respond_toで遷移先をしていしています。遷移先はsave処理の成功・失敗により分けられています。ここでformatをJSONにするかHTMLにするかの振り分けを行っています。destroyユーザーの削除を行ってます。モデルモデルは特に自動生成されません。モデルは自分で実装するところです。空のファイルと、DBのmigrationファイルのみ自動生成されます。ビューJSONとHTMLで出力があるため以下の2通り自動生成されます。コントローラーで設定されたグロバル変数を参照して値を出力できるようにRubyで書かれています。デザインを変えたい場合はここにスタイル当てて行ったりしていきます。:usersがデフォで設定されています。処理ごとにきちんと制御するべきですがまあ作っていく工程でも一番最後の方で問題はないです。他にもテストクラスなども自動生成されていますので、これはテストをする際にあたっていきたいと思います。その5(Scaffolding使ってサクッとAP作る)Tweet広告を非表示にする関連記事2014-12-16Microsoftに行って来ましたプロジェクトが忙しかったのでしばらく更新してませんでしたが...2014-06-22博多丸善に行ってきました。Fontが公開されたので早速入れてみました。Air(2014)が届きました。)って結構イメージ悪いですよね。(6)はてなブログをはじめよう!gwaan_soさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。